Funzione libreria C - memmove ()

Descrizione

La funzione di libreria C. void *memmove(void *str1, const void *str2, size_t n) copie n personaggi da str2 per str1, ma per blocchi di memoria sovrapposti, memmove () è un approccio più sicuro di memcpy ().

Dichiarazione

Di seguito è riportata la dichiarazione per la funzione memmove ().

void *memmove(void *str1, const void *str2, size_t n)

Parametri

  • str1 - Questo è un puntatore all'array di destinazione in cui il contenuto deve essere copiato, cast di tipo a un puntatore di tipo void *.

  • str2 - Questo è un puntatore alla fonte dei dati da copiare, cast di tipo a un puntatore di tipo void *.

  • n - Questo è il numero di byte da copiare.

Valore di ritorno

Questa funzione restituisce un puntatore alla destinazione, che è str1.

Esempio

L'esempio seguente mostra l'utilizzo della funzione memmove ().

#include <stdio.h>
#include <string.h>

int main () {
   char dest[] = "oldstring";
   const char src[]  = "newstring";

   printf("Before memmove dest = %s, src = %s\n", dest, src);
   memmove(dest, src, 9);
   printf("After memmove dest = %s, src = %s\n", dest, src);

   return(0);
}

Compiliamo ed eseguiamo il programma sopra che produrrà il seguente risultato:

Before memmove dest = oldstring, src = newstring
After memmove dest = newstring, src = newstring