我想一个接一个地复制 2 个整数、2 个短裤和 1 个字符。
这就是我所做的:
int32_t a=1;
int32_t b=2;
int16_t c=3;
int16_t d=4;
int8_t e=5;
char*buf=new char[104];
memcpy(buf, &a, 32);
memcpy(buf + 32, &b, 32);
memcpy(buf + 64, &c, 16);
memcpy(buf + 80, &d, 16);
memcpy(buf + 96, &e, 8);
这个对吗 ?我的调试器说第三行影响第二行,但也许我只是在滥用我的调试器(更具体地说,它说 *((int32_t*)(buf+32)) 的值在第二个和第三个 memcpy 之间发生了变化) .
谢谢。