strdup(3) Library Functions Manual strdup(3) NAME strdup, strndup, strdupa, strndupa - duplicate a string LIBRARY Standard C library (libc, -lc) SYNOPSIS #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); Feature Test Macro Requirements for glibc (see feature_test_macros(7)): strdup(): _XOPEN_SOURCE >= 500 || /* Since glibc 2.12: */ _POSIX_C_SOURCE >= 200809L || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE strndup(): Since glibc 2.10: _POSIX_C_SOURCE >= 200809L Before glibc 2.10: _GNU_SOURCE strdupa(), strndupa(): _GNU_SOURCE DESCRIPTION The strdup() function returns a pointer to a new string which is a du- plicate 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 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() and strndupa() are similar, but use alloca(3) to allocate the buffer. RETURN VALUE On success, the strdup() function returns a pointer to the duplicated string. It returns NULL if insufficient memory was available, with er- rno set to indicate the error. ERRORS ENOMEM Insufficient memory available to allocate duplicate string. ATTRIBUTES For an explanation of the terms used in this section, see at- tributes(7). ┌────────────────────────────────────────────┬───────────────┬─────────┐ │Interface │ Attribute │ Value │ ├────────────────────────────────────────────┼───────────────┼─────────┤ │strdup(), strndup(), strdupa(), strndupa() │ Thread safety │ MT-Safe │ └────────────────────────────────────────────┴───────────────┴─────────┘ STANDARDS 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), wcs- dup(3) Linux man-pages 6.03 2023-02-05 strdup(3)
Generated by dwww version 1.15 on Sat Jun 1 20:45:04 CEST 2024.