Provided by:
manpages-es_1.55-10_all 
NOMBRE
strdup, strndup, strdupa, strndupa - duplican una cadena de caracteres
SINOPSIS
#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);
DESCRIPCI'ON
La funcion strdup() devuelve un puntero a una nueva cadena de
caracteres que es un duplicado de la cadena apuntada por s. La memoria
para la nueva cadena se obtiene automaticamente con malloc(3), y puede
(y debe) liberarse con free(3).
La funcion strndup() es similar, pero solamente copia como maximo n
caracteres. Si s es mayor que n, solo se copian n caracteres, y se
anade un NUL al final.
strdupa y strndupa son similares, pero usan alloca(3) para reservar el
buffer. Solo estan disponibles cuando se usa la aplicacion GNU GCC, y
sufren las mismas limitaciones descritas en alloca(3).
VALOR DEVUELTO
La funcion strdup() devuelve un puntero a la cadena duplicada, o NULL
si no habia bastante memoria.
ERRORES
ENOMEM Memoria insuficiente disponible para alojar la cadena duplicada.
CONFORME A
SVID 3, BSD 4.3. strndup(), strdupa(), y strndupa() son extensiones de
GNU.
V'EASE TAMBI'EN
alloca(3), calloc(3), free(3), malloc(3), realloc(3)