logo

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

qu'est-ce que $home Linux
>

>

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