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


点赞(0)

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

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

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

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

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

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

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

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

Dotcpp在线编译      (登录可减少运行等待时间)