Provided by: manpages-ro-dev_4.21.0-2_all 

NUME
memcpy - copiază o zonă de memorie
BIBLIOTECA
Biblioteca C standard (libc, -lc)
REZUMAT
#include <string.h>
void *memcpy(void destinația[restrict .n], const void sursa[restrict .n],
size_t n);
DESCRIERE
Funcția memcpy() copiază n octeți din zona de memorie sursă în zona de memorie destinație. Zonele de
memorie nu trebuie să se suprapună. Utilizați memmove(3) dacă zonele de memorie se suprapun.
VALOAREA RETURNATĂ
Funcția memcpy() returnează un indicator către destinație.
ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
┌─────────────────────────────────────────────────────────────────────────┬───────────────────┬─────────┐
│ Interfață │ Atribut │ Valoare │
├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤
│ memcpy() │ Siguranța firelor │ MT-Safe │
└─────────────────────────────────────────────────────────────────────────┴───────────────────┴─────────┘
STANDARDE
POSIX.1-2001, POSIX.1-2008, C99, SVr4, 4.3BSD.
NOTE
Nerespectarea cerinței ca zonele de memorie să nu se suprapună a fost sursa unor erori semnificative.
(POSIX și standardele C sunt explicite că utilizarea memcpy() cu zone suprapuse produce un comportament
nedefinit). În mod deosebit, în glibc 2.13, o optimizare a performanței memcpy() pe unele platforme
(inclusiv x86-64) a inclus schimbarea ordinii în care octeții erau copiați de la sursă la destinație.
Această modificare a scos la iveală întreruperi în mai multe aplicații care efectuau copierea cu zone
suprapuse. În cadrul implementării anterioare, ordinea de copiere a octeților a ascuns în mod fortuit
problema, care a fost dezvăluită atunci când ordinea de copiere a fost inversată. În glibc 2.14, a fost
adăugat un simbol cu versiunea, astfel încât binarele vechi (adică cele asociate cu versiuni glibc
anterioare versiunii 2.14) să utilizeze o implementare memcpy() care să gestioneze în siguranță cazul
memoriilor tampon care se suprapun (prin furnizarea unei implementări memcpy() „mai veche”, care a fost
denumită memmove(3)).
CONSULTAȚI ȘI
bcopy(3), bstring(3), memccpy(3), memmove(3), mempcpy(3), strcpy(3), strncpy(3), wmemcpy(3)
TRADUCERE
Traducerea în limba română a acestui manual a fost creată de Remus-Gabriel Chelu
<remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o
versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă Nicio
RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
ro@lists.sourceforge.net.
Pagini de manual de Linux 6.03 29 decembrie 2022 memcpy(3)