|
NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUE | ATTRIBUTES | STANDARDS | HISTORY | SEE ALSO | COLOPHON |
|
|
|
strdupa(3) Library Functions Manual strdupa(3)
strdupa, strndupa - string duplicate using alloca
Standard C library (libc, -lc)
#define _GNU_SOURCE /* See feature_test_macros(7) */
#include <string.h>
char *strdupa(const char *s);
char *strndupa(size_t n;
const char s[n], size_t n);
strdupa()
strdupa() is similar to strdup(3), but uses alloca(3) to
allocate the buffer.
It is equivalent to
strcpy(alloca(strlen(s) + 1), s)
strndupa()
strndupa() is similar to strndupa(3), but uses alloca(3) to
allocate the buffer.
It is equivalent to
strncat(strcpy(alloca(n + 1), ""), s, n)
On success, these macros return a pointer to the duplicated
string.
For an explanation of the terms used in this section, see
attributes(7).
┌──────────────────────────────────────┬───────────────┬─────────┐
│ Interface │ Attribute │ Value │
├──────────────────────────────────────┼───────────────┼─────────┤
│ strdupa(), strndupa() │ Thread safety │ MT-Safe │
└──────────────────────────────────────┴───────────────┴─────────┘
GNU.
GNU.
alloca(3), strdup(3), strndup(3)
This page is part of the man-pages (Linux kernel and C library
user-space interface documentation) project. Information about
the project can be found at
⟨https://www.kernel.org/doc/man-pages/⟩. If you have a bug report
for this manual page, see
⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.
This page was obtained from the tarball man-pages-6.18.tar.gz
fetched from
⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on
2026-05-24. If you discover any rendering problems in this HTML
version of the page, or you believe there is a better or more up-
to-date source for the page, or you have corrections or
improvements to the information in this COLOPHON (which is not
part of the original manual page), send a mail to
man-pages@man7.org
Linux man-pages 6.18 2026-02-25 strdupa(3)
Pages that refer to this page: alloca(3), strdup(3), strdupa(3)