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()
- memcpy() ne vérifie pas le débordement ou .
- 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()