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)