memset是干什么的呀??
我在一个程序中看到meset,不知道他是做什么的呀??
ifstream file("123.txt");
char st[100];
memset(st,0,100);
file.read(st,100);
file.close();
MessageBox(st);
问题点数:0、回复次数:7Top
1 楼qhfu(改个名字)回复于 2005-05-04 18:36:28 得分 0
void *memset(
void *dest,
int c,
size_t count
);
//第一个参数是目的地的指针,第二是插入的整数,第三个参数是插入个数。
wchar_t *wmemset(
wchar_t *dest,
wchar_t c,
size_t count
);
Top
2 楼c_nestor()回复于 2005-05-04 18:45:15 得分 0
memset用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘ ’或‘\0’;例:char a[100];memset(a, '\0', sizeof(a));
memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;例:char a[100],b[50]; memcpy(b, a, sizeof(b));注意如用sizeof(a),会造成b的内存地址溢出。
memcpy
原型:extern void *memcpy(void *dest, void *src, unsigned int count);
用法:#include <string.h>
功能:由src所指内存区域复制count个字节到dest所指内存区域。
说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。
memset
原型:extern void *memset(void *buffer, int c, int count);Top
3 楼zhousqy(标准C匪徒)(甩拉,甩拉)回复于 2005-05-04 20:31:15 得分 0
void *memset(void *buffer, int c, int count);
---------------------
用来把指定内存地址buffer开始的,count个字符的值置为c。Top
4 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-05-04 21:34:37 得分 0
对指定的内存块赋值Top
5 楼ericqxg007(还有很多东西要学(卡卡一米阳光))回复于 2005-05-04 22:57:48 得分 0
同意楼上的
另外类似的有memcpy ,memove,memcmp等函数
memcpy :
头文件 string.h\ mem.h
函数用途:字符串拷贝
函数原型:void *memcpy(void *dest, const void *src, size_t n)
输入参数:src 源字符串,n 拷贝的最大长度
输出参数:dest 目的字符串
返回值:指向dest的指针
memove:
头文件 string.h\ mem.h
函数用途:字符串拷贝
函数原型:void *memmove(void *dest, const void *src, size_t n)
输入参数:src 源字符串,n 拷贝的最大长度
输出参数:dest 目的字符串
返回值:指向dest的指针
memcmp:
头文件:string.h\mem.h
函数用途:按字典顺序对字符串s1,s2比较,并只比较前n个字符
函数原型:int memcmp(const void *s1, const void *s2, size_t n)
输入参数:s1,s2 要比较的字符串,n 比较的长度
返回值:返回数值表示比较结果
Top
6 楼SaiRose(Learning......)回复于 2005-05-04 23:00:24 得分 0
都说完了 ....
楼主可以装个MSDN的
用时方便Top
7 楼xuzheng318(忧郁王子)回复于 2005-05-05 00:40:11 得分 0
楼主可以看看msdn 上面说得很详细!Top




