标题:菜鸟,关于mem.h的问题
只看楼主
yuntian
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2004-8-19
 问题点数:0 回复次数:2 
菜鸟,关于mem.h的问题

本人菜鸟,看到一段程序用到了mem.h头文件不知是干什么的?还有memset和memcpy怎么用?请各大虾指点!

[此贴子已经被作者于2004-08-19 16:41:18编辑过]

搜索更多相关主题的帖子: mem 
2004-08-19 16:40
hanpengshan_00
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2004-7-16
得分:0 
菜鸟,关于mem.h的问题

就是操作内存的函数声明,比如有一个数组,如果初始化成0,1或某个值,

1 可以用循环,每个元素分别赋值

2 最好的方法就是用memset

memcpy就是拷贝内存里的内容到另外一个区域里


2004-08-19 18:17
young
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:223
专家分:160
注 册:2004-9-5
得分:0 

给个例子吧: typedef char BYTE; char *p; dataSize = strlen("Hello World!") * sizeof(BYTE) + 1; p = (char *)malloc(dataSize); memset(p, 0, dataSize) //把p所指向的内存空间中的每个字节都设为'\0'. '\0'的ASCII码即为0. memcpy(p, "Hello World!", (dataSize - 1)); // 把字符串"Hello World!"拷贝到p所指向的内存空间.

看看memcpy函数是怎么写的吧;哈哈

void *memcpy(void *pvTo, const void *pvFrom, size_t size)

{

assert((pvTo != NULL) && (pvFrom != NULL)); // 使用断言

byte *pbTo = (byte *) pvTo; // 防止改变pvTo的地址

byte *pbFrom = (byte *) pvFrom; // 防止改变pvFrom的地址

while(size -- > 0 )

*pbTo ++ = *pbFrom ++ ;

return pvTo;

}


如果你爱C语言,请你爱指针; 如果你爱指针,请你爱指针的指针;
2004-09-05 14:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-4413-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.915476 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved