strdup
From cppreference.com
C
Concurrency support (C11)
Null-terminated byte strings
Functions
Character manipulation
Conversions to and from numeric formats
(C99)(C99)
(C99)(C99)
(C23)(C23)(C23)
String manipulation
String examination
Memory manipulation
Miscellaneous
(C11)(C11)
Defined in header
<string.h>
char *strdup( const char *src );
(since C23)
Returns a pointer to a null-terminated byte string, which is a duplicate of the string pointed to by src
. The space for the new string is obtained as if the malloc was invoked. The returned pointer must be passed to free to avoid a memory leak.
If an error occurs, a null pointer is returned and errno might be set.
Contents
[edit] Parameters
src
-
pointer to the null-terminated byte string to duplicate
[edit] Return value
A pointer to the newly allocated string, or a null pointer if an error occurred.
[edit] Notes
The function is identical to the POSIX strdup.
[edit] Example
Run this code
Output:
s2 = "Duplicate me!"