Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
STRDUP(3)		     Library Functions Manual		       STRDUP(3)

NAME
     strdup, strdupa, strndup, strndupa -- save a copy of a string

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <string.h>

     char *
     strdup(const char *str);

     char *
     strdupa(const char *str);

     char *
     strndup(const char *str, size_t len);

     char *
     strndupa(const char *str, size_t len);

DESCRIPTION
     The  strdup() function allocates sufficient memory for a copy of the string
     str, does the copy, and returns a pointer to it.  The memory  is  allocated
     with malloc(3) and should be released with free(3) when no longer needed.

     The  strndup()  function  copies at most len characters from the string str
     always NUL terminating the copied string.

     The strdupa() function is identical to strdup() but  allocates  the  memory
     with  alloca(3).	Similarly,  the  strndupa()  function  is  identical  to
     strndup(), but allocates the memory with alloca(3).

RETURN VALUES
     If insufficient memory is available, NULL is returned and errno is  set  to
     ENOMEM.   Otherwise,  the	strdup() family of functions return a pointer to
     the copied string.

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

STANDARDS
     The strdup() function is specified by  IEEE  Std  1003.1-2001  ("POSIX.1").
     The  strndup()  function  is specified by IEEE Std 1003.1-2008 ("POSIX.1").
     The strdupa() and strndupa() functions are extensions, taken from glibc.

HISTORY
     The strdup() function first appeared in 4.3BSD-Reno.  The	strndup()  func-
     tion was added in FreeBSD 7.2.  The strdupa() and strndupa() functions were
     added in FreeBSD 15.1.

FreeBSD ports 15.quarterly	   May 5, 2020			       STRDUP(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=strndup&sektion=3&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help