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

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țăAtributValoare │
       ├───────────────────────────────────────────────────────────┼───────────────────┼─────────┤
       │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  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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⟩.