strdup

Autres langues

Langue: fr

Version: 12 décembre 1993 (fedora - 16/08/07)

Section: 3 (Bibliothèques de fonctions)

NOM

strdup, strndup, strdupa, strndupa - Dupliquer une chaîne.

SYNOPSIS

#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);

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

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