Linux |
CentOS 5.3 |
|
strdup(3) |
strdup, strndup, strdupa, strndupa − Dupliquer une chaîne. |
#include <string.h> char * strdup (const char *s); #define _GNU_SOURCE #include <string.h> char * strndup (const char *s, size_t n); char * strdupa (const char *s); char * strndupa (const char *s, size_t n); |
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 est ajouté. strdupa() et strndupa() sont similaires, mais utilisent alloca(3) pour allouer le tampon. Elles sont directement utilisables avec GNUGCC, mais souffrent des mêmes restrictions que alloca(3). |
La fonction strdup() renvoie un pointeur sur la chaîne dupliquée, ou NULL s’il n’y avait pas assez de mémoire. |
ENOMEM |
Pas assez de mémoire disponible pour dupliquer la chaîne. |
strdup() est conforme à SVr4, BSD 4.3 et POSIX.1-2001. strndup(), strdupa(), et strndupa() sont des extensions GNU. |
alloca(3), calloc(3), free(3), malloc(3), realloc(3), wcsdup(3) |
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 14 août 2006. 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. |
strdup(3) |