zion - strdup
Nom
strdup, strndup, strdupa, strndupa - Dupliquer une chaîne.
Résumé
.nf #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 ); .fi
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 est ajouté. strdupa et strndupa sont similaires, mais utilisent alloca(3) pour allouer le buffer. Elles sont directement utilisables avec GNUGCC, 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é
SVID 3, BSD 4.3. strndup(), strdupa(), et strndupa() sont des extensions GNU.
Voir aussi
alloca (3), calloc (3), free (3), malloc (3), realloc (3)
Traduction
Christophe Blaess, 1996-2003.
Poster un commentaire