Scroll to navigation

strdupa(3) Library Functions Manual strdupa(3)

NAME

strdupa, strndupa - string duplicate using alloca

LIBRARY

Standard C library (libc-lc)

SYNOPSIS

#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);

DESCRIPTION

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() is similar to strndupa(3), but uses alloca(3) to allocate the buffer.
It is equivalent to

strncat(strcpy(alloca(n + 1), ""), s, n)
    

RETURN VALUE

On success, these macros return a pointer to the duplicated string.

ATTRIBUTES

For an explanation of the terms used in this section, see attributes(7).

Interface Attribute Value
strdupa (), strndupa () Thread safety MT-Safe

STANDARDS

GNU.

HISTORY

GNU.

SEE ALSO

alloca(3), strdup(3), strndup(3)

2026-02-25 Linux man-pages 6.18