OpenSuSE Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
x SuSE Linux 13.1-RELEASE x
x SuSE Linux 13.1-RELEASEx
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()
       strndup()
              POSIX.1-2008.

       strdupa()
       strndupa()
              GNU.

HISTORY
       strdup()
              SVr4, 4.3BSD-Reno, POSIX.1-2001.

       strndup()
              POSIX.1-2008.

       strdupa()
       strndupa()
              GNU.

SEE ALSO
       alloca(3),  calloc(3),  free(3), malloc(3), realloc(3), string(3), wcs-
       dup(3)

Linux man-pages 6.04              2023-03-30                         strdup(3)

Want to link to this manual page? Use this URL:
<
http://star2.abcm.com/cgi-bin/bsdi-man?query=strdup&sektion=3&manpath=>

home | help