字节对齐问题,这样:#pragma pack( 1) typedef struct 

char name[9]; 
char dbz; 
unsigned short dnp; 
unsigned short dtp; 
int dzp; 
short x,y; 
} agb_hat; #pragma pack(  )

解决方案 »

  1.   

    如果用Vc.net,也可以按如下方式设置:
    <1> 右击项目,弹出菜单后单击属性
    <2> C/C++ -> CodeGeneration -> Struct Member Alignment -> 1 Bytes.
      

  2.   

    vc6里面也可以设置:Project --> Settings --> C/C++下拉选择Category选择Code Generation再下拉Struct Member Alignment选择1 Bytes
      

  3.   

    有意思的事,微软所有的struct用诸如以下的定义:
    typedef struct _tagWin32
    {
    int...
    lpvoid ..
    }WIN32,*LPWIN32;
    用它的时候,好像并不担心字节问题!