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 mem-
       ory 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()
       function	 was added in FreeBSD 7.2.  The	strdupa() and strndupa() func-
       tions 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