STRDUP

Section : Manuel du programmeur Linux (3)
Mise à jour de la version anglaise : 26 juillet 2007
Index Menu principal  

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  

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 octet nul (« \0 ») est ajouté.

strdupa() et strndupa() sont similaires, mais utilisent alloca(3) pour allouer le tampon. Elles sont directement utilisables avec GNU gcc(1), 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
Pas assez de mémoire disponible pour dupliquer la chaîne.
 

CONFORMITÉ

strdup() est conforme à SVr4, BSD 4.3 et 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)  

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 9 novembre 1996 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 strdup ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.

 

Index

NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
CONFORMITÉ
VOIR AUSSI
TRADUCTION

Dernière mise à jour : 17 juillet 2008