unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (Debian-5.0)
Page:
Section:
Apropos / Subsearch:
optional field

STRDUP(3)                  Linux Programmer's Manual                 STRDUP(3)



NAME
       strdup, strndup, strdupa, strndupa - duplicate a string

SYNOPSIS
       #include <&lt;string.h>&gt;

       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)):

       strdup(): _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE >= 500
       strndup(), 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).

       The  strndup()  function  is similar, but only copies at most n charac-
       ters.  If s is longer than n, only n characters are copied, and a  ter-
       minating null byte ('\0') is added.

       strdupa() and strndupa() are similar, but use alloca(3) to allocate the
       buffer.  They are only available when using the GNU GCC suite, and suf-
       fer from the same limitations described in alloca(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(), strdupa(),
       and strndupa() are GNU extensions.

SEE ALSO
       alloca(3), calloc(3), free(3), malloc(3), realloc(3), wcsdup(3)

COLOPHON
       This  page  is  part of release 3.05 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/.



GNU                               2007-07-26                         STRDUP(3)