C语言memcpy函数误解
来源:互联网 发布:unix和linux的区别 编辑:程序博客网 时间:2024/04/30 14:47
昨晚发现用memcpy()函数时,数据复制不完整,一直以为是逻辑问题,今天再度断点到函数进行时,单步调试(好在是VC,比单片机方便多了),在网上查看也有人不知为什么没有完全复制过去数据,于是查了MSDN才发现有问题.
发现一直理解错了,下面看实例.
int iFree[MAX], iUsed[MAX] iUsedBlk[MAX], iFreeBlk[MAX];
int iFreeCnt, iUsedCnt;
memcpy(iFree, iFreeBlk, iFreeCnt);memcpy(iUsed, iUsedBlk, iUsedCnt);
这里无法把iFreeBlk[]里的数据全部copy到iFree去,只复制了一部分,查看资料才恍然大悟,memcpy复制的是内存的值,应该以byte为基本单位,那么iFreeCnt就不够整个iFreeBlk的大小了,应该用iFreeCnt*sizeof(int),这样才能把整个数据复制过去.
memcpy()时,我总会习惯性的理解为把同样数据结构的数据复制过去(错了!都是搞单片机整天都是BYTE的惯性思维!).以后长记性了!
- C语言memcpy函数误解
- C语言memcpy()函数
- C语言之memcpy()函数
- C语言之memcpy函数
- C语言之memcpy函数
- C语言之memcpy函数
- C语言之memcpy函数
- C语言之memcpy函数
- 【C语言】memcpy函数的实现
- memcpy/memset函数的c语言实现
- C语言memcpy函数的一点疑惑
- C语言模拟实现memcpy,memmove函数
- 【c语言】模拟实现memcpy()、memmove()函数
- C语言中的memcpy()和memset()函数
- memcpy/memset函数的c语言实现
- C语言函数string.h 之 内存copy函数memcpy
- 【c/c++】memcpy()函数
- c语言实现memcpy
- x210 debug口当普通串口使用
- VC6.0工程设置
- 三种实现夜间模式的方法
- 软件随想录(local.joelonsoftware.com/wiki)-2000年06月03日 策略书之三:让我换回去! - Strategy Letter III: Let Me Go Back!
- php用date格式化输出指定范围的时间
- C语言memcpy函数误解
- 自定义 Ribbon中的 按钮
- java时间用法calendar
- ASIHTTPRequest实现断点续传
- 如何使用自定义字体
- 内核空间与用户空间之一:基础概念
- The Tao Of Programming —— 编程之道
- C#采集器示例含翻页功能
- Mobile连接数据库的几种方式(转)