strdup
< c | experimental | dynamic
定义于头文件 <string.h>
|
||
char * strdup(const char *str1); |
(动态内存 TR) | |
返回指向空终止字符串的指针,字符串是 str1 所指向字符串的副本。返回的指针必须传递给 free 以避免内存泄漏。
若错误发生,则返回空指针,并可能设置 errno 。
同所有来自动态内存 TR 的函数, strdup
仅若实现定义了 __STDC_ALLOC_LIB__ 且用户在包含 string.h
前定义 __STDC_WANT_LIB_EXT2__ 为整数常量 1 才保证可用。
参数
str1 | - | 指向要被复制的空终止字符串的指针 |
返回值
指向新分配字符串的指针,若出现错误则为空指针。
注意
此函数等同于 POSIX strdup 。
示例
运行此代码
参阅
(动态内存 TR) |
分配字符串副本,至多到指定的大小 (函数) |
(C11) |
复制一个字符串给另一个 (函数) |
分配内存 (函数) |