La funció memcpy() en C i C++ s'utilitza per copiar un bloc de memòria d'una ubicació a una altra. A diferència d'altres funcions de còpia, el memcpy La funció copia el nombre especificat de bytes d'una ubicació de memòria a l'altra ubicació de memòria independentment del tipus de dades emmagatzemades.
Es declara a fitxer de capçalera. En C++, també es defineix dins fitxer de capçalera.
Sintaxi de memcpy
La funció memcpy es declara com:
void * memcpy (void * to , const void * from , size_t numBytes );>
Paràmetres
- a : un punter a la ubicació de memòria on s'emmagatzemaran les dades copiades. from : un punter a la ubicació de memòria des d'on s'han de copiar les dades. numBytes : el nombre de bytes que s'han de copiar.
Valor de retorn
- Aquesta funció retorna un punter a la ubicació de memòria on es copien les dades.
Exemple de memcpy
A continuació es mostra el programa C per mostrar el funcionament de 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;> }> |
capa de xarxa a les xarxes d'ordinadors
>
>Sortida
str1 before memcpy Geeks str1 after memcpy Quiz>
Punts importants sobre memcpy()
- memcpy() no comprova si hi ha desbordament o .
- memcpy() condueix a un comportament indefinit quan les adreces d'origen i de destinació es superposen.
Nota : memmove() és una altra funció de biblioteca que gestiona bé la superposició.
Article relacionat
- Escriu el teu propi memcpy() i memmove()