memcpy(3) Library Functions Manual memcpy(3) NUME memcpy - copiaza o zona de memorie BIBLIOTECA Biblioteca C standard (libc, -lc) REZUMAT #include void *memcpy(void destinaia[restrict .n], const void sursa[restrict .n], size_t n); DESCRIERE Funcia memcpy() copiaza n octei din zona de memorie sursa in zona de memorie destinaie. Zonele de memorie nu trebuie sa se suprapuna. Utilizai memmove(3) daca zonele de memorie se suprapun. VALOAREA RETURNATA Funcia memcpy() returneaza un indicator catre destinaie. ATRIBUTE Pentru o explicaie a termenilor folosii in aceasta seciune, a se vedea attributes(7). +--------------------------------------+---------------------+---------+ |Interfaa | Atribut | Valoare | +--------------------------------------+---------------------+---------+ |memcpy() | Sigurana firelor | MT-Safe | +--------------------------------------+---------------------+---------+ STANDARDE C11, POSIX.1-2008. ISTORIC POSIX.1-2001, C89, SVr4, 4.3BSD. AVERTISMENTE Nerespectarea cerinei ca zonele de memorie sa nu se suprapuna a fost sursa unor erori semnificative. (POSIX i standardele C sunt explicite ca utilizarea memcpy() cu zone suprapuse produce un comportament nedefinit). In mod deosebit, in glibc 2.13, o optimizare a performanei memcpy() pe unele platforme (inclusiv x86-64) a inclus schimbarea ordinii in care octeii erau copiai de la sursa la destinaie. Aceasta modificare a scos la iveala intreruperi in mai multe aplicaii care efectuau copierea cu zone suprapuse. In cadrul implementarii anterioare, ordinea de copiere a octeilor a ascuns in mod fortuit problema, care a fost dezvaluita atunci cand ordinea de copiere a fost inversata. In glibc 2.14, a fost adaugat un simbol cu versiunea, astfel incat binarele vechi (adica cele asociate cu versiuni glibc anterioare versiunii 2.14) sa utilizeze o implementare memcpy() care sa gestioneze in sigurana cazul memoriilor tampon care se suprapun (prin furnizarea unei implementari memcpy() ,,mai veche", care a fost denumita memmove(3)). CONSULTAI I bcopy(3), bstring(3), memccpy(3), memmove(3), mempcpy(3), strcpy(3), strncpy(3), wmemcpy(3) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.06 31 octombrie 2023 memcpy(3)