Come utilizzare la funzione memmove in C ++

July 30

La funzione memmove in copia C ++ il numero specificato di byte di dati dalla sorgente specificata alla destinazione specificata. Questa funzione viene chiamata una mossa perché utilizza un buffer intermedio che permette la sorgente e la destinazione a sovrapporsi. Si tratta di una copia binaria in modo che il tipo di dati sottostante è irrilevante. I seguenti passi vi aiuterà a utilizzare la funzione memmove.

istruzione

1 Imparare la sintassi di memmove in C ++. La sintassi completa è

memmove void (destinazione vuoto, const void * fonte, size_t num) ;. Si noti che questa funzione non cerca un carattere di terminazione nullo e non controlla troppo pieno. Memmove sempre una copia byte NUM e restituisce la matrice di destinazione.

2 Sappiate che i puntatori ai matrici di origine e destinazione sono di tipo pressofuso ad un tipo di vuoto.

3 Capire che la funzione memmove C ++ è conservato nella biblioteca CString. Potrebbe essere necessario includere il file di intestazione string.h da utilizzare memmove.

4 Guardate il seguente programma completo per un semplice esempio di come utilizzare memmove con sovrapposizione array:

includere includere

int main ()
{
char string1 [] = "memmove può essere utilizzato per spostare XXXXX sovrapposizione array.";
memmove (stringa1 + 20, stringa1 + 26,27);
printf ( "string1:% s \ n", string1);
string1 [47] = '\ n';
printf ( "string1:% s \ n", string1);
return 0;
}

5 Osservare il seguente output per questo programma:

string1: memmove può essere utilizzato per spostare arrays.rrays sovrapposizione.
string1: memmove può essere utilizzato per spostare le matrici sovrapposte.

Si noti che i "rrays." alla fine della prima uscita indica che la copia è fatta in modo conservazione. L'array deve essere terminato manualmente a differenza strcpy, per esempio.