如何解决从一个位置复制N个字节
我正在尝试从内存位置复制8个字节。我得到的都是全零,而不是5、6、7、8、9,A,B,C,D,E。
typedef struct {
uint8_t id[8];
}pid_local_t;
int main()
{
uint8_t arr[256];
uint8_t i = 0;
pid_local_t val;
for(i=0;i<255;i++){
arr[i] = i;
}
printf(" val 0x%08x \n",*(uint32_t*)(arr+5));
memcpy(arr+5,&val,8);
for(i=0;i<8;i++){
printf(" val %d => 0x%08x \n",i,val.id[i]);
}
return 0;
}
输出为:
val 0x08070605
val 0 => 0x00
val 1 => 0x00
val 2 => 0x00
val 3 => 0x00
val 4 => 0x00
val 5 => 0x00
val 6 => 0x00
val 7 => 0x00
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。