Format
#include <string.h> char *strdup(const char *string);
Language Level: XPG4, Extension
strdup reserves storage space for a copy of string
by calling malloc. The string argument to this function is
expected to contain a null character (\0) marking the end of the
string. Remember to free the storage reserved with the call to
strdup.
Return Value
strdup returns a pointer to the storage
space containing the copied string. If it cannot reserve storage
strdup returns NULL.
Example
This example uses strdup to duplicate a
string and print the copy.
#include <stdio.h> #include <string.h>
int main(void)
{
char *string = "this is a copy";
char *newstr;
/* Make newstr point to a duplicate of string */
if ((newstr = strdup(string)) != NULL)
printf("The new string is: %s\n", newstr);
return 0;
/***********************************************
The output should be:
The new string is: this is a copy ***********************************************/ }
![]()
strcpy -- Copy Strings
strncpy -- Copy
Strings
wcscpy -- Copy
Wide-Character Strings
wcsncpy -- Copy
Wide-Character Strings
<string.h>