logo

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

capa de xarxa a les xarxes d'ordinadors
>

>

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()