Man page - memcpy(3)

Packages contains this manual

Available languages:

en fr es pl ko ja ru ro de

Manual

memcpy

NUME
BIBLIOTECA
SINOPSIS
DESCRIERE
VALOAREA RETURNATĂ
ATRIBUTE
STANDARDE
ISTORIC
AVERTISMENTE
CONSULTAȚI ȘI
TRADUCERE

NUME

memcpy - copiază o zonă de memorie

BIBLIOTECA

Biblioteca C standard ( libc , -lc )

SINOPSIS

#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).

Image grohtml-670759-1.png

STANDARDE

C11, POSIX.1-2008.

ISTORIC

POSIX.1-2001, C89, SVr4, 4.3BSD.

AVERTISMENTE

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 făcută 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 .