strdup, strndup, strdupa, strndupa - duplican una cadena de caracteres
Biblioteca Estándar C (
libc,
-lc)
#include <string.h>
char *strdup(const char *s);
char *strndup(const char s[.n], size_t n);
char *strdupa(const char *s);
char *strndupa(const char s[.n], size_t n);
strdup():
_XOPEN_SOURCE >= 500
|| /* Desde glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
|| /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
strndup():
Desde glibc 2.10:
_POSIX_C_SOURCE >= 200809L
Antes de glibc 2.10:
_GNU_SOURCE
strdupa(),
strndupa():
_GNU_SOURCE
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).
The
strndup() function is similar, but copies at most
n bytes. If
s is longer than
n, only
n bytes are copied, and a
terminating null byte ('\0') is added.
strdupa() y
strndupa() son similares, pero usan
alloca(3)
para reservar el buffer.
On success, the
strdup() function returns a pointer to the duplicated
string. It returns NULL if insufficient memory was available, with
errno set to indicate the error.
- ENOMEM
- Memoria insuficiente disponible para alojar la cadena
duplicada.
Para obtener una explicación de los términos usados en esta
sección, véase
attributes(7).
Interfaz |
Atributo |
Valor |
strdup(), strndup(), strdupa(),
strndupa() |
Seguridad del hilo |
Multi-hilo seguro |
strdup() conforms to SVr4, 4.3BSD, POSIX.1-2001.
strndup()
conforms to POSIX.1-2008.
strdupa() and
strndupa() are GNU
extensions.
alloca(3),
calloc(3),
free(3),
malloc(3),
realloc(3),
string(3),
wcsdup(3)
La traducción al español de esta página del manual fue
creada por Gerardo Aburruzaga García <
[email protected]>
y Marcos Fouces <
[email protected]>
Esta traducción es documentación libre; lea la
GNU
General Public License Version 3 o posterior con respecto a las
condiciones de copyright. No existe NINGUNA RESPONSABILIDAD.
Si encuentra algún error en la traducción de esta página
del manual, envíe un correo electrónico a
[email protected]