Dotcpp  >  编程教程  >  string.h头文件  >  C语言strdup()函数:将字符串复制到新建立的空间

C语言strdup()函数:将字符串复制到新建立的空间

点击打开在线编译器,边学边练

函数名: 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



本文固定URL:https://www.dotcpp.com/course/586

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

C语言函数库
assert.h头文件
ctype.h头文件
float.h头文件
io.h头文件
math.h头文件
mem.h头文件
setjmp.h头文件
stdio.h头文件
stdlib.h头文件
sigal.h头文件
string.h头文件
time.h头文件
Dotcpp在线编译      (登录可减少运行等待时间)