Originální popis anglicky:
strdup, strndup, strdupa, strndupa - duplicate a string
Návod, kniha: Linux Programmer's Manual
#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);
The
strdup() function returns a pointer to a new string which is a
duplicate of the string
s. Memory for the new string is obtained with
malloc(3), and can be freed with
free(3).
The
strndup() function is similar, but only copies at most
n
characters. If
s is longer than
n, only
n characters are
copied, and a terminating NUL is added.
strdupa and
strndupa are similar, but use
alloca(3) to
allocate the buffer. They are only available when using the GNU GCC suite, and
suffer from the same limitations described in
alloca(3).
The
strdup() function returns a pointer to the duplicated string, or NULL
if insufficient memory was available.
- ENOMEM
- Insufficient memory available to allocate duplicate
string.
SVID 3, BSD 4.3.
strndup(),
strdupa(), and
strndupa() are
GNU extensions.
alloca(3),
calloc(3),
free(3),
malloc(3),
realloc(3)