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