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语言函数库
<assert.h>头文件
<ctype.h>头文件
<float.h>头文件
<io.h>头文件
<math.h>头文件
<mem.h>头文件
<setjmp.h>头文件
<stdio.h>头文件
<stdlib.h>头文件
<signal.h>头文件
<string.h>头文件
<time.h>头文件
Dotcpp在线编译      (登录可减少运行等待时间)