logo

memcpy() în C/C++

Funcția memcpy() în C și C++ este folosită pentru a copia un bloc de memorie dintr-o locație în alta. Spre deosebire de alte funcții de copiere, memcpy funcția copiază numărul specificat de octeți dintr-o locație de memorie în cealaltă locație de memorie, indiferent de tipul de date stocate.

Se declara in fișier antet. În C++, este definit și în interior fișier antet.



Sintaxa lui memcpy

Funcția memcpy este declarată ca:

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

Parametrii

    la : un indicator către locația de memorie în care vor fi stocate datele copiate. de la : un indicator către locația de memorie de unde urmează să fie copiate datele. numBytes : numărul de octeți care trebuie copiați.

Valoare returnată

  • Această funcție returnează un pointer către locația de memorie în care sunt copiate datele.

Exemplu de memcpy

Mai jos este programul C pentru a arăta funcționarea 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;> }>

listă sortată java
>

>

Ieșire

str1 before memcpy Geeks str1 after memcpy Quiz>

Puncte importante despre memcpy()

  1. memcpy() nu verifică depășirea sau .
  2. memcpy() duce la un comportament nedefinit atunci când adresele sursă și destinație se suprapun.

Notă : memmove() este o altă funcție de bibliotecă care gestionează bine suprapunerea.

Articol înrudit

  • Scrieți propriile dvs. memcpy() și memmove()