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()
- memcpy() nu verifică depășirea sau .
- 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()