strdup(3)

strdup3

Save a copy of a string

Usage

#include <string.h>

char *

strdup(const char *s1);

char *

strndup(const char *s1, size_t n);

Library

Standard C Library (libc, -lc)

Overview

The strdup() function allocates sufficient memory for a copy of the string s1, does the copy, and returns a pointer to it. The pointer may subsequently be used as an argument to the function free(3).

If insufficient memory is available, NULL is returned and errno is set to ENOMEM.

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

Releases

163 releases since Mac OS X 10.0; the text changed 4 times.

  1. 10.0–10.1.5
  2. 10.2–10.3.9
  3. 10.4–10.4.11
  4. 10.5–10.6.8
  5. 10.7–26.5

History

The strdup() function first appeared in 4.4BSD. The strndup() function was added in FreeBSD 7.2.

From Libc 1752.120.2 in macOS 26.5. Also shipped by ksh. Parsed by carta from the page's mdoc source.