Provided by: manpages-de-dev_4.21.0-2_all 

BEZEICHNUNG
strdup, strndup, strdupa, strndupa - dupliziert eine Zeichenkette
BIBLIOTHEK
Standard-C-Bibliothek (libc, -lc)
ÜBERSICHT
#include <string.h>
char *strdup(const char *s);
char *strndup(const char s[.n], size_t n);
char *strdupa(const char *s);
char *strndupa(const char s[.n], size_t n);
Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)):
strdup():
_XOPEN_SOURCE >= 500
|| /* Seit Glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
|| /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
strndup():
Seit Glibc 2.10:
_POSIX_C_SOURCE >= 200809L
Vor Glibc 2.10:
_GNU_SOURCE
strdupa(), strndupa():
_GNU_SOURCE
BESCHREIBUNG
Die Funktion strdup() gibt einen Zeiger auf eine neue Zeichenkette zurück, die eine Kopie der
Zeichenkette s ist. Der Speicher für die neue Zeichenkette wird mit malloc(3) reserviert und kann mit
free(3) wieder freigegeben werden.
Die Funktion strndup() ist ähnlich, kopiert aber maximal n Bytes. Falls s länger als n Bytes ist, werden
davon nur n kopiert und ein abschließendes Nullbyte (»\0«) angehängt.
strdupa() und strndupa() sind ähnlich, reservieren den Speicher aber mittels alloca(3).
RÜCKGABEWERT
Bei Erfolg gibt die Funktion strdup() einen Zeiger auf die kopierte Zeichenkette zurück oder NULL, wenn
nicht genügend Speicher verfügbar war, wobei errno den Fehler anzeigt.
FEHLER
ENOMEM nicht ausreichend Speicher für die Bereitstellung der kopierten Zeichenkette verfügbar
ATTRIBUTE
Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
┌─────────────────────────────────────────────────────────────────────┬───────────────────────┬─────────┐
│ Schnittstelle │ Attribut │ Wert │
├─────────────────────────────────────────────────────────────────────┼───────────────────────┼─────────┤
│ strdup(), strndup(), strdupa(), strndupa() │ Multithread-Fähigkeit │ MT-Safe │
└─────────────────────────────────────────────────────────────────────┴───────────────────────┴─────────┘
STANDARDS
strdup() ist konform zu SVr4, 4.3BSD, POSIX.1-2001. strndup() ist konform zu POSIX.1-2008. strdupa() und
strndupa() sind GNU-Erweiterungen.
SIEHE AUCH
alloca(3), calloc(3), free(3), malloc(3), realloc(3), string(3), wcsdup(3)
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Markus Schmitt <fw@math.uni-sb.de>, Martin Eber‐
hard Schauer <Martin.E.Schauer@gmx.de> und Mario Blättermann <mario.blaettermann@gmail.com> 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 die
Mailingliste der Übersetzer.
Linux man-pages 6.03 5. Februar 2023 strdup(3)