memcpy() en C/C++

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;> }>

Sortida

str1 before memcpy Geeks str1 after memcpy Quiz 

Punts importants sobre memcpy()

  1. memcpy() no comprova si hi ha desbordament o .
  2. 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()