Provided by: manpages-es_1.55-3_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)