Provided by: manpages-de-dev_1.11-1_all bug

BEZEICHNUNG

       memcpy - kopiert Speicherbereich

ÜBERSICHT

       #include <string.h>

       void *memcpy(void *dest, const void *src, size_t n);

BESCHREIBUNG

       Die  Funktion  memcpy()  kopiert n Byte von Speicherbereich src nach Speicherbereich dest.
       Die Speicherbereiche dürfen sich nicht überschneiden. Verwenden Sie memmove(3), wenn  sich
       die Speicherbereiche überschneiden.

RÜCKGABEWERT

       Die Funktion memcpy() gibt einen Zeiger auf dest zurück.

ATTRIBUTE

       Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.

       ┌──────────────┬───────────────────────┬─────────┐
       │SchnittstelleAttributWert    │
       ├──────────────┼───────────────────────┼─────────┤
       │memcpy()      │ Multithread-Fähigkeit │ MT-Safe │
       └──────────────┴───────────────────────┴─────────┘

KONFORM ZU

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

ANMERKUNGEN

       Failure  to  observe  the  requirement  that  the memory areas do not overlap has been the
       source of real bugs. (POSIX and the C standards are explicit that employing memcpy()  with
       overlapping  areas produces undefined behavior.) Most notably, in glibc 2.13 a performance
       optimization of memcpy()  on some platforms (including x86-64) included changing the order
       in which bytes were copied from src to dest.

       This  change  revealed  breakages  in a number of applications that performed copying with
       overlapping areas. Under the previous implementation, the order in which  the  bytes  were
       copied  had  fortuitously  hidden  the  bug, which was revealed when the copying order was
       reversed. In glibc 2.14, a versioned symbol was added so that old  binaries  (i.e.,  those
       linked against glibc versions earlier than 2.14)  employed a memcpy()  implementation that
       safely  handles  the  overlapping  buffers  case  (by  providing   an   "older"   memcpy()
       implementation that was aliased to memmove(3)).

SIEHE AUCH

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

KOLOPHON

       Diese  Seite  ist  Teil  der  Veröffentlichung  4.04  des  Projekts  Linux-man-pages. Eine
       Beschreibung des Projekts, Informationen, wie Fehler  gemeldet  werden  können  sowie  die
       aktuelle Version dieser Seite finden sich unter http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die  deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother <krd@gulu.net> und
       Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> erstellt.

       Diese Übersetzung ist Freie Dokumentation;  lesen  Sie  die  GNU  General  Public  License
       Version   3  oder  neuer  bezüglich  der  Copyright-Bedingungen.  Es  wird  KEINE  HAFTUNG
       übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an <debian-l10n-german@lists.debian.org>.

                                          23. Juli 2015                                 MEMCPY(3)