帮助文档说明中写着:__int8 data type is synonymous with type char
但是,我做memcpy的时候结果怎么不一样?
main() {
guint8 *buf1;
char *buf;
buf1 = (guint8*)malloc(10);
buf1[0] = 0x10;
buf1[1] = 0x02;
buf1[3] = 0x33;
buf1[4] = 0x33;
buf1[5] = 0x33;
buf1[6] = 0x33;
buf1[7] = 0x33;
buf1[8] = 0x33;
buf1[9] = 0x33; buf =(char*)malloc(10);
memcpy(buf,buf1,10); printf("\n");
for (int i=0;i<10;i++)
printf("%2x",buf[i]); printf("\n");
for (i=0;i<10;i++)
printf("%2x",buf1[i]);
scanf("%d");
}
结果:
10 2ffffffcd33333333333333
10 2cd33333333333333
但是,我做memcpy的时候结果怎么不一样?
main() {
guint8 *buf1;
char *buf;
buf1 = (guint8*)malloc(10);
buf1[0] = 0x10;
buf1[1] = 0x02;
buf1[3] = 0x33;
buf1[4] = 0x33;
buf1[5] = 0x33;
buf1[6] = 0x33;
buf1[7] = 0x33;
buf1[8] = 0x33;
buf1[9] = 0x33; buf =(char*)malloc(10);
memcpy(buf,buf1,10); printf("\n");
for (int i=0;i<10;i++)
printf("%2x",buf[i]); printf("\n");
for (i=0;i<10;i++)
printf("%2x",buf1[i]);
scanf("%d");
}
结果:
10 2ffffffcd33333333333333
10 2cd33333333333333
楼上怎么这么眼熟
是医生吗?