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

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