STRDUP(3) | Library Functions Manual | STRDUP(3) |
strdup
, strndup
—
#include <string.h>
char *
strdup
(const
char *str);
char *
strndup
(const
char *str, size_t
len);
strdup
() function allocates sufficient memory for a
copy of the string str, does the copy, and returns a
pointer to it. The pointer may subsequently be used as an argument to the
function free(3).
If insufficient memory is available, NULL
is returned.
The strndup
() function copies at most
len characters from the string
str always NUL
terminating the
copied string.
char *p; if ((p = strdup("foobar")) == NULL) { fprintf(stderr, "Out of memory.\n"); exit(1); }
strdup
() function may fail and set the external
variable errno for any of the errors specified for the
library function malloc(3).
strdup
() function conforms to IEEE
Std 1003.1-2001 (“POSIX.1”).
strdup
() function first appeared in
4.4BSD. The strndup
() function
was added in NetBSD 4.0.
January 28, 2009 | NetBSD 9.0 |