Loading

NOM

       strdup, strndup, strdupa, strndupa - Dupliquer une chaîne.

SYNOPSIS

       #include <string.h>

       char *strdup(const char *s);

       char *strndup(const char *s, size_t n);
       char *strdupa(const char *s);
       char *strndupa(const char *s, size_t n);

   Exigences  de  macros  de  test  de  fonctionnalités  pour  la  glibc (voir
   feature_test_macros(7)) :

       strdup() : _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE >= 500
       strndup(), strdupa(), strndupa() : _GNU_SOURCE

       La fonction strdup() renvoie un pointeur sur  une  nouvelle  chaîne  de
       caractères  qui  est  dupliquée  depuis s. La mémoire occupée par cette
       nouvelle chaîne est obtenue en appelant malloc(3), et peut (doit)  donc
       être libérée avec free(3).

       La  fonction  strndup()  est  identique,  mais  ne  copie au plus que n
       caractères. Si s est plus grande que n, seuls n caractères sont copiés,
       et un caractère NUL (« \0 ») est ajouté.

       strdupa  et  strndupa  sont  similaires,  mais utilisent alloca(3) pour
       allouer le tampon. Elles sont directement  utilisables  avec  GNU  GCC,
       mais souffrent des mêmes restrictions que alloca(3).

VALEUR RENVOYÉE

       La  fonction  strdup()  renvoie un pointeur sur la chaîne dupliquée, ou
       NULL s’il n’y avait pas assez de mémoire.

ERREURS

       ENOMEM Mémoire disponible insuffisante pour dupliquer la chaîne.

CONFORMITÉ

       strdup()  est  conforme  à  SVr4,  BSD 4.3,  POSIX.1-2001.   strndup(),
       strdupa() et strndupa() sont des extensions GNU.

VOIR AUSSI

       alloca(3), calloc(3), free(3), malloc(3), realloc(3), wcsdup(3)

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.23 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       être       trouvées      à      l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette page de manuel a été traduite  et  mise  à  jour  par  Christophe
       Blaess  <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
       Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et  mise  à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement         gérées         par         Nicolas         François
       <nicolas.francois@centraliens.net>    et    l’équipe   francophone   de
       traduction de Debian.

       Veuillez  signaler  toute  erreur   de   traduction   en   écrivant   à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document
       en utilisant la commande « man -L C <section> <page_de_man> ».