La funzione memmove () in C ++ copia un byte di dati specificato dall'origine alla destinazione.
prototipo memmove ()
void * memmove (void * dest, const void * src, size_t count);
La memmove()
funzione accetta tre argomenti: dest, src e count. Quando la memmove()
funzione viene chiamata, copia count byte dalla locazione di memoria puntata da src alla locazione di memoria puntata da dest.
La copia viene eseguita anche se i puntatori src e dest si sovrappongono. Questo perché la copia avviene come se venisse creato un buffer intermedio in cui i dati vengono prima copiati da src e poi infine copiati in dest.
È definito nel file di intestazione "> file di intestazione.
Parametri memmove ()
dest
: Puntatore alla posizione di memoria in cui vengono copiati i contenutisrc
: Puntatore alla posizione di memoria da cui vengono copiati i contenuti.count
: Numero di byte da copiare da src a dest.
memmove () Restituisce il valore
La funzione memmove () restituisce dest, il puntatore alla posizione di memoria di destinazione.
Esempio: come funziona la funzione memmove ()
#include #include using namespace std; int main() ( int arr(10) = (8,3,11,61,-22,7,-6,2,13,47); int *new_arr = &arr(5); memmove(new_arr,arr,sizeof(int)*5); cout << "After copying" << endl; for (int i=0; i<10; i++) cout << arr(i) << endl; return 0; )
Quando esegui il programma, l'output sarà:
Dopo la copia 8 3 11 61-22 8 3 11 61-22