STRDUP(3) | Linux Programmer's Manual | STRDUP(3) |
NAME
strdup, strndup, strdupa, strndupa - duplicate a stringSYNOPSIS
#include<string.h>
char *strdup(const char * s );
char *strndup(const char * s , size_t n );
char *strdupa(const char * s );
char *strndupa(const char * s , size_t n );
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
_SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
|| /* Since glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
strndup():
- Since glibc 2.10:
- POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700
- Before glibc 2.10:
- _GNU_SOURCE
strdupa(), strndupa(): _GNU_SOURCE
DESCRIPTION
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).RETURN VALUE
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 cause of the error.ERRORS
- ENOMEM
- Insufficient memory available to allocate duplicate string.
CONFORMING TO
strdup() conforms to SVr4, 4.3BSD, POSIX.1-2001. strndup() conforms to POSIX.1-2008. strdupa() and strndupa() are GNU extensions.SEE ALSO
alloca(3), calloc(3), free(3), malloc(3), realloc(3), string(3), wcsdup(3)COLOPHON
This page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.2013-04-19 | GNU |