注册 登录
编程论坛 VC++/MFC

系统是32位的情况下,各为大哥帮帮看看

lanriver 发布于 2010-12-09 23:35, 438 次点击
typedef struct tagAA
{
     char a;
     short b:
     short c;
     char d;
     char e[7];
     char f;
     char g[17];
     short h;
}AA;
AA cd;
用二进制方式读文件后,
short i;
short j;
i=cd.c;//此处为何只读到一个字节
j=cd.h;//此处正确的读到二个字节
系统是32位的情况下,各为大哥帮帮看看
2 回复
#2
makebest2010-12-10 09:24
在结构体前 #pragma pack(1)
在结构体后 #pragma pack(0)
不然成员变量是错位的, 原因自己搜索.
#3
lanriver2010-12-10 23:39
Thanks!Sir
1