函数名: strdup
头文件:<string.h>
函数原型: char *strdup(const char *str);
功能: 将字符串复制到新建立的空间,该函数会先用malloc()配置与参数str字符串相同的空间大小,然后将参数str字符串的内 容复制到该内存地址,然后把该地址返回。该地址最后可以利用free()来释放。
参数: char *str 为要复制的字符串
返回值: 返回一字符串指针,该指针指向复制后的新字符串地址。若返回NULL表示内存不足。
注意: 不是标准库函数,只能在windows下(VC、MinGW等)使用,Linux GCC中需要自己定义。
程序例: 将字符串string复制到dup_str中,并将结果输出
#include<string.h> #include<stdio.h> #include<stdlib.h> int main(void){ char *dup_str, *string = "www.dotcpp.com"; dup_str = strdup(string); printf("%s\n", dup_str); free(dup_str); return 0; }
运行结果:
www.dotcpp.com
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程