Il memmove in C + + copia 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 l' origine e la destinazione a sovrapporsi. Questa è una copia binaria modo che il tipo di dati sottostante è irrilevante . I passi seguenti vi aiuterà a utilizzare la funzione memmove . Istruzioni
1
Imparare la sintassi di memmove in C + + . La sintassi completa è void * memmove (void * destinazione , const void * source, size_t num ) . Si noti che questa funzione non cerca un carattere di terminazione nullo e non verifica troppo pieno . Memmove sempre copia num byte e restituisce l' array di destinazione .
2
Sappiate che i puntatori alla fonte e gli array di destinazione sono type-cast a un tipo di vuoto .
3
Capire che il C + + memmove è conservato nella biblioteca cstring . Potrebbe essere necessario includere il file di intestazione string.h usare memmove
4
Guardate il seguente programma completo per un semplice esempio di come utilizzare memmove con matrici sovrapposte : .
# include # include
int main ( ) { char stringa1 [ ] = " memmove può essere usato per spostare XXXXX matrici sovrapposte . " ; memmove ( stringa1 +20 , stringa1 +26,27 ) ; printf ( " stringa1 : % s \\ n " , stringa1 ) ; stringa1 [ 47 ] = ' \\ n '; printf ( " stringa1 : % s \\ n " , stringa1 ) ; return 0; }
5
Osservare la dopo l'uscita di questo programma :
stringa1 : memmove può essere utilizzato per spostare sovrapposizione arrays.rrays.string1 : . memmove può essere utilizzato per spostare gli array sovrapposizione
noti che le " rrays ". al termine del primo output mostra che la copia è fatta in modo preservare . L'array deve essere terminato manualmente a differenza di strcpy , per esempio.