strdup
From cppreference.com
< c | experimental | dynamic
Defined in header <string.h>
|
||
char * strdup(const char *str1); |
(dynamic memory TR) | |
Returns a pointer to a null-terminated byte string, which is a duplicate of the string pointed to by str1. The returned pointer must be passed to free to avoid a memory leak.
If an error occurs, a null pointer is returned and errno may be set.
As all functions from Dynamic Memory TS, strdup
is only guaranteed to be available if __STDC_ALLOC_LIB__ is defined by the implementation and if the user defines __STDC_WANT_LIB_EXT2__ to the integer constant 1 before including string.h
.
Parameters
str1 | - | pointer to the null-terminated byte string to duplicate |
Return value
A pointer to the newly allocated string, or a null pointer if an error occurred.
Notes
The function is identical to the POSIX strdup except that it is allowed, but not required to set errno on error.
Example
Run this code
See also
(dynamic memory TR) |
allocate a copy of a string up to specified size (function) |
(C11) |
copies one string to another (function) |
allocates memory (function) |