Linux

CentOS 4.8

strndupa(3)


STRDUP

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


strndupa(3)