C/C++ memcpy memset 我想问的是这两个函数有什么作用,包括他们的重载函数。
最好能介绍一下这两个函数的常用用法,希望能比较详细,容易让人理解。LINUX的,不要回答WINDOWS的...
最好能介绍一下这两个函数的常用用法,希望能比较详细,容易让人理解。
LINUX的,不要回答WINDOWS的 展开
LINUX的,不要回答WINDOWS的 展开
展开全部
memset 一般用来数组清零。一般数组因为数据较多,如果重复使用,会残留上次操作的信息。影响程序判断,要对数组清零有很多办法,不过相当一部分人使用这个函数。因为这个函数性能非常好。表意也相当清楚,一般不会有歧义。
memcpy,和 strcpy差不多,不过strcpy要判断\0,就是串是否结束,所以,性能不如memcpy,在一个就是memcpy是内存块拷贝,不受strcpy的字符串限制,也就是说,如果是2进制数据,strcpy就会出现一些意想不到的后果。比如内存中间有\0。
memcpy,和 strcpy差不多,不过strcpy要判断\0,就是串是否结束,所以,性能不如memcpy,在一个就是memcpy是内存块拷贝,不受strcpy的字符串限制,也就是说,如果是2进制数据,strcpy就会出现一些意想不到的后果。比如内存中间有\0。
展开全部
memcpy内存拷贝
http://baike.baidu.com/view/736225.htm
memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法
http://baike.baidu.com/view/982208.htm
标准C语言是不分linux和windows的!
http://baike.baidu.com/view/736225.htm
memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法
http://baike.baidu.com/view/982208.htm
标准C语言是不分linux和windows的!
追问
strcpy memcpy有什么区别没?
追答
strcpy 函数操作的对象是 字符串 从 源字符串 到 目的字符串 的 拷贝 功能
原型声明:extern char *strcpy(char *dest,char *src);
memcpy 函数顾名思义就是 内存拷贝,实现 将一个 内存块 的内容复制到另一个 内存块
什么类型差不多要占用内存空间,所以memcpy不限于类型,
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-08-09
展开全部
首先 memcpy 和memset是运行库函数,和什么操作系统没有关系。只要你用C/C++ ,什么操作系统下面都一样,意思就是与操作系统无关。
其作用嘛,MSDN上说的相当清楚。自己去看吧。
其作用嘛,MSDN上说的相当清楚。自己去看吧。
追问
strcpy memcpy有什么区别没?
追答
有。
memcpy操作单元为字节,你告诉它拷贝多少字节,它就拷贝多少字节,即使是非法的,它一样会执行。
strcpy,这个函数的输入参数必须是以空字符串\0结尾的,因为strcpy这个函数就是靠判断\0,来知道如何拷贝。
所以这2个函数有着本质上的差别。明显memcpy效率要更高。如果要拷贝一段加密的内存,那么显然应该用memcpy,因为strcpy遇到0就停止拷贝。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好像是直接操作内存的函数,我不常用,但是一些大神很喜欢用,静待高手解释,学习之...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询