strdup 的用法
2015-08-25 21:30
246 查看
在看lxc代码中很多出现这个strdup()函数
所以非常好奇这个函数是做什么的,就查了一下这个东西是做什么用的。
头文件:#include <string.h>
定义函数:char * strdup(const char *s);
函数说明:strdup()会先用maolloc()配置与参数s 字符串相同的空间大小,然后将参数s 字符串的内容复制到该内存地址,然后把该地址返回。该地址最后可以利用free()来释放。
返回值:返回一字符串指针,该指针指向复制后的新字符串地址。若返回NULL 表示内存不足。
这个就很方便了。来看一下代码
#include <stdio.h>
#include <string.h>
int main()
{
char a[] = "strdup";
char *b;
b = strdup(a);
//b = malloc(10 * sizeof(*b));
strcpy(b,a);
printf("b[] = \" %s \" \n",b);
return 0;
}
你会发现不用下面那个malloc函数了,非常方便
所以非常好奇这个函数是做什么的,就查了一下这个东西是做什么用的。
头文件:#include <string.h>
定义函数:char * strdup(const char *s);
函数说明:strdup()会先用maolloc()配置与参数s 字符串相同的空间大小,然后将参数s 字符串的内容复制到该内存地址,然后把该地址返回。该地址最后可以利用free()来释放。
返回值:返回一字符串指针,该指针指向复制后的新字符串地址。若返回NULL 表示内存不足。
这个就很方便了。来看一下代码
#include <stdio.h>
#include <string.h>
int main()
{
char a[] = "strdup";
char *b;
b = strdup(a);
//b = malloc(10 * sizeof(*b));
strcpy(b,a);
printf("b[] = \" %s \" \n",b);
return 0;
}
你会发现不用下面那个malloc函数了,非常方便
相关文章推荐
- Linux SSH命令大全
- Lua和C语言的交互详解
- 关于C语言中参数的传值问题
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言内存对齐实例详解
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- 使用C语言详解霍夫曼树数据结构
- 探讨C语言的那些小秘密之断言
- C语言实现BMP转换JPG的方法
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- C语言查找数组里数字重复次数的方法
- C语言泛型编程实例教程
- C语言中使用lex统计文本文件字符数
- C语言进制转换代码分享
- 基于C语言fflush()函数的使用详解
- 对比分析C语言中的gcvt()和ecvt()以及fcvt()函数
- C语言单链队列的表示与实现实例详解