table of contents
other versions
- wheezy 3.44-1
- jessie 3.74-1
- jessie-backports 4.10-2~bpo8+1
- testing 4.10-2
- unstable 4.10-2
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
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¶
The strdup() function returns a pointer to the duplicated string, or NULL if insufficient memory was available.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.44 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/.2012-05-10 | GNU |