Provided by: manpages-fr-dev_3.32d0.2p4-1_all bug

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   (consultez
   feature_test_macros(7)) :

       strdup() :
           _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE >= 500 ||
           _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
           || /* Depuis la glibc 2.12 : */ _POSIX_C_SOURCE >= 200809L
       strndup() :
           Depuis la glibc 2.10 :
               POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700
           Avant la glibc 2.10 :
               _GNU_SOURCE
       strdupa(), strndupa() : _GNU_SOURCE

DESCRIPTION

       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), string(3), wcsdup(3)

COLOPHON

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

TRADUCTION

       Depuis   2010,   cette   traduction   est   maintenue   à   l'aide   de    l'outil    po4a
       <URL:http://po4a.alioth.debian.org/>  par  l'équipe  de  traduction francophone au sein du
       projet perkamon <URL:http://perkamon.alioth.debian.org/>.

       Christophe  Blaess  <URL:http://www.blaess.fr/christophe/>   (1996-2003),   Alain   Portal
       <URL:http://manpagesfr.free.fr/>  (2003-2006). Nicolas François et l'équipe francophone de
       traduction de Debian (2006-2009).

       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> ».