Provided by: manpages-fr-dev_3.65d1p1-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 octets. Si s est plus
       grande que n, seuls n octets sont copiés, et un octet nul de fin (« \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

       En cas de succès, la fonction strdup() renvoie un pointeur sur la chaîne  dupliquée.  NULL
       est renvoyé s'il n'y avait pas assez de mémoire et errno contient le code d'erreur.

ERREURS

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

CONFORMITÉ

       strdup()   est   conforme   à  SVr4,  BSD 4.3,  POSIX.1-2001.  strndup()  est  conforme  à
       POSIX.1-2008. 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.65 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

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

       Christophe   Blaess   <http://www.blaess.fr/christophe/>   (1996-2003),    Alain    Portal
       <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> ».