La funzione memcpy() in C e C++ viene utilizzata per copiare un blocco di memoria da una posizione a un'altra. A differenza di altre funzioni di copia, il file memcpy La funzione copia il numero specificato di byte da una posizione di memoria all'altra posizione di memoria indipendentemente dal tipo di dati memorizzati.
È dichiarato nel file di intestazione. In C++ è definito anche inside file di intestazione.
Sintassi di memcpy
La funzione memcpy è dichiarata come:
void * memcpy (void * to , const void * from , size_t numBytes );>
Parametri
- a: puntatore alla posizione di memoria in cui verranno archiviati i dati copiati. from : un puntatore alla posizione di memoria da cui devono essere copiati i dati. numBytes: il numero di byte da copiare.
Valore di ritorno
- Questa funzione restituisce un puntatore alla posizione di memoria in cui vengono copiati i dati.
Esempio di memcpy
Di seguito è riportato il programma C per mostrare il funzionamento di memcpy()
C
// C program to demonstrate working of memcpy> #include> #include> int> main()> {> >char> str1[] =>'Geeks'>;> >char> str2[] =>'Quiz'>;> >puts>(>'str1 before memcpy '>);> >puts>(str1);> >// Copies contents of str2 to str1> >memcpy>(str1, str2,>sizeof>(str2));> >puts>(>'
str1 after memcpy '>);> >puts>(str1);> >return> 0;> }> |
char + int in Java
>
>Produzione
str1 before memcpy Geeks str1 after memcpy Quiz>
Punti importanti su memcpy()
- memcpy() non controlla l'overflow o .
- memcpy() porta a un comportamento indefinito quando gli indirizzi di origine e destinazione si sovrappongono.
Nota : ricordati di spostare() è un'altra funzione di libreria che gestisce bene la sovrapposizione.
Articolo correlato
- Scrivi il tuo memcpy() e memmove()