memcpy() en C/C++

La fonction memcpy() en C et C++ est utilisée pour copier un bloc de mémoire d'un emplacement à un autre. Contrairement aux autres fonctions de copie, le mémoire La fonction copie le nombre spécifié d'octets d'un emplacement mémoire à l'autre emplacement mémoire, quel que soit le type de données stockées.

Il est déclaré dans En tête de fichier. En C++, il est également défini à l'intérieur En tête de fichier.

Syntaxe de memcpy

La fonction memcpy est déclarée comme suit :

void * memcpy (void * to , const void * from , size_t numBytes ); 

Paramètres

    to : Un pointeur vers l’emplacement mémoire où les données copiées seront stockées. from : Un pointeur vers l’emplacement mémoire à partir duquel les données doivent être copiées. numBytes : Le nombre d'octets à copier.

Valeur de retour

  • Cette fonction renvoie un pointeur vers l'emplacement mémoire où les données sont copiées.

Exemple de mémoire

Vous trouverez ci-dessous le programme C pour montrer le fonctionnement 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;> }>

Sortir

str1 before memcpy Geeks str1 after memcpy Quiz 

Points importants à propos de memcpy()

  1. memcpy() ne vérifie pas le débordement ou .
  2. memcpy() conduit à un comportement indéfini lorsque les adresses source et de destination se chevauchent.

Note : memmove() est une autre fonction de bibliothèque qui gère bien le chevauchement.

Article associé

  • Écrivez vos propres memcpy() et memmove()