Man page - memcpy(3)

Packages contains this manual

Available languages:

en fr es pl ko ja ru ro de

Manual

memcpy

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ATTRIBUTS
STANDARDS
HISTORIQUE
AVERTISSEMENTS
VOIR AUSSI
TRADUCTION

NOM

memcpy - Copier une zone mémoire

BIBLIOTHÈQUE

BibliothĂšque C standard ( libc , -lc )

SYNOPSIS

#include <string.h>

void *memcpy(void dest [restrict . n ], const void src [restrict . n ],
size_t
n );

DESCRIPTION

La fonction memcpy () copie n octets depuis la zone mĂ©moire src vers la zone mĂ©moire dest . Les deux zones ne doivent pas se chevaucher. Si c’est le cas, utilisez plutĂŽt memmove (3).

VALEUR RENVOYÉE

La fonction memcpy () renvoie un pointeur sur dest .

ATTRIBUTS

Pour une explication des termes utilisés dans cette section, consulter attributes (7).

Image grohtml-3889334-1.png

STANDARDS

C11, POSIX.1-2008.

HISTORIQUE

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

AVERTISSEMENTS

Le manque de conformitĂ© avec l’exigence voulant que les zones mĂ©moire ne se chevauchent pas a constituĂ© la source de nombreux bogues. Les normes POSIX et C dĂ©clarent expressĂ©ment que l’utilisation de memcpy () sur des zones qui se chevauchent conduit Ă  un comportement non dĂ©fini. En particulier, une optimisation de performance de memcpy () sur certaines plateformes, dont x86-64, dans la glibc 2.13 incluait un changement de l’ordre dans lequel les octets Ă©taient copiĂ©s de src dans dest .

Ce changement a entraĂźnĂ© des dysfonctionnements dans un bon nombre d’applications qui copiaient des zones se chevauchant. L’ordre dans lequel les octets sont copiĂ©s dans les implĂ©mentations prĂ©cĂ©dentes a cachĂ© ce bogue de façon fortuite et il est apparu lorsque l’ordre de la copie a Ă©tĂ© inversĂ©. Un symbole versionnĂ© a Ă©tĂ© ajoutĂ© Ă  la glibc 2.14 de façon Ă  ce que d’anciens binaires (comme ceux dont les liens ont Ă©tĂ© Ă©ditĂ©s vers des versions antĂ©rieures Ă  la glibc 2.14) emploient une implĂ©mentation de memcpy () qui gĂšre le cas du chevauchement de façon sĂ»re (en fournissant une « ancienne » implĂ©mentation de memcpy () qui a Ă©tĂ© renommĂ©e en memmove (3)).

VOIR AUSSI

bcopy (3), bstring (3), memccpy (3), memmove (3), mempcpy (3), strcpy (3), strncpy (3), wmemcpy (3)

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org>, Frédéric Hantrais <fhantrais@gmail.com> et Grégoire Scano <gregoire.scano@malloc.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n’y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .