fopen 二进制文件 漏读,该怎么处理

fopen 二进制文件漏读二进制文件信息DB 09 2C 98 23 43 ...struct TEST{byte babyte bbbyte bcunsigned

fopen 二进制文件 漏读
二进制文件信息DB 09 2C 98 23 43 ...
struct TEST
{
byte ba;
byte bb;
byte bc;
unsigned short bd;
};


fp = fopen("C:\\ddd\\erjinzhiwejian.dat","rb");

TEST test
memset(&test, 0, sizeof(TEST ));
fread(&test,sizeof(TEST ),1,fp );

test.ba = DB
test.bb = 09
test.bc = 2C
test.bd = 4323

98 呢? 
新手求解

[解决办法]
内存对齐?
[解决办法]
同意楼上看法
[解决办法]
#pragma pack(1)
struct TEST
{
byte ba;
byte bb;
byte bc;
unsigned short bd;
};