Provided by: manpages-es_1.55-10_all bug

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ÓN

       La  función  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
       automáticamente con malloc(3), y puede (y debe) liberarse con free(3).

       La  función  strndup()  es similar, pero solamente copia como máximo n carácteres. Si s es
       mayor que n, sólo se copian n carácteres, y se añade un NUL al final.

       strdupa y strndupa son similares, pero usan alloca(3) para reservar el buffer. Sólo  están
       disponibles  cuando  se  usa  la  aplicación  GNU  GCC,  y  sufren las mismas limitaciones
       descritas en alloca(3).

VALOR DEVUELTO

       La función strdup() devuelve un puntero a la cadena duplicada, o NULL si no había 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ÉASE TAMBIÉN

       alloca(3), calloc(3), free(3), malloc(3), realloc(3)