关于menset函数
2012-09-15 20:22
92 查看
需要的头文件 在C中 <memory.h> or <string.h>
在C++中 <cstring>
void *memset(void *s, int ch, size);
函数解释:将s中前n个字节替换为ch并返回s;
memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法[1]。
memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;例: char a[100], b[50]; memcpy(b, a, sizeof(b)); //注意如用sizeof(a),会造成b的内存地址溢出。 strcpy就只能拷贝字符串了,它遇到'\0'就结束拷贝;例: char a[100], b[50]; strcpy(a,b); 如用strcpy(b,a),要注意a中的字符串长度(第一个‘\0’之前)是否超过50位,如超过,则会造成b的内存地址溢出。
5.补充:某人的一点心得 memset可以方便的清空一个结构类型的变量或数组。 如: struct sample_struct { char csName[16]; int iSeq; int iType; }; 对于变量 struct sample_strcut stTest; 一般情况下,清空stTest的方法: stTest.csName[0]='\0'; stTest.iSeq=0; stTest.iType=0; 用memset就非常方便: memset(&stTest,0,sizeof(struct sample_struct)); 如果是数组: struct sample_struct TEST[10]; 则 memset(TEST,0,sizeof(struct sample_struct)*10); 另外: 如果结构体中有数组的话还是需要对数组单独进行初始化处理的
在C++中 <cstring>
void *memset(void *s, int ch, size);
函数解释:将s中前n个字节替换为ch并返回s;
memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法[1]。
memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;例: char a[100], b[50]; memcpy(b, a, sizeof(b)); //注意如用sizeof(a),会造成b的内存地址溢出。 strcpy就只能拷贝字符串了,它遇到'\0'就结束拷贝;例: char a[100], b[50]; strcpy(a,b); 如用strcpy(b,a),要注意a中的字符串长度(第一个‘\0’之前)是否超过50位,如超过,则会造成b的内存地址溢出。
5.补充:某人的一点心得 memset可以方便的清空一个结构类型的变量或数组。 如: struct sample_struct { char csName[16]; int iSeq; int iType; }; 对于变量 struct sample_strcut stTest; 一般情况下,清空stTest的方法: stTest.csName[0]='\0'; stTest.iSeq=0; stTest.iType=0; 用memset就非常方便: memset(&stTest,0,sizeof(struct sample_struct)); 如果是数组: struct sample_struct TEST[10]; 则 memset(TEST,0,sizeof(struct sample_struct)*10); 另外: 如果结构体中有数组的话还是需要对数组单独进行初始化处理的
相关文章推荐
- 推荐一个关于"架构"的演示文稿(PPT)
- 关于Agent 角色代理使用(整理)
- 我认为比较经典的关于Remoting的入门教程
- 关于ORACLE时间格式的讨论
- 总结关于找工作的20条经验
- 关于页面刷新
- 关于Actionscript 3.0中的鼠标事件
- 关于switch...case...语句(Compiler Error C2360)
- 关于Chrome OS
- 关于PHP 生成 UTF-8格式的文件
- 关于cookie存放数据问题
- 收集的一些关于MOSS 2007开发的文章
- 关于430与晶振的信息
- 关于出现Name jdbc is not bound in this Context错误的解决
- 关于FlashBurn
- C# 关于WMI
- 关于主动生成的强类型DataSet 的Adapter的Update无效问题
- 关于移动设备网页资料
- 关于在命令行下安装/卸载Sql Server Express
- [原创]桓泽学音频编解码(8):关于MP3和AAC量化器设计的研究(补充)