救命啊~~~怎样才能进行16位数据包到32位的转换??快点啊,老板要杀了我!!!
现有一个数据包的格式如下:
**********************************************************************
名称 Name 类型 长度 备注
**********************************************************************
数据包类型 Type Char 1 上海指数:0x10深圳指数:0x20
证券代码 Code[6] Char 6
昨日收盘 Close Long 4
今日开盘 Open Long 4
今日最高 High Long 4
今日最低 Low Long 4
今日最新 New Long 4
总买盘量 Vbuy Long 4 可忽略
总卖盘量 Vsell Long 4 可忽略
总成交量 volume Long 4 单位:百股
总成交额 Amount Long 4 单位:百元
总家数 Total Int 2 可忽略
日期 Date Long 4 可忽略
时间 Time Long 4 可忽略
保留 Reserved[34] Char 34
校验码 Chksum Char 1
证券名称 Name[8] Char 8
从以上的描述可以看出,int 为2位字长,可见为16位的,现在我用下列的函数,得到数据包的指针。
void DynamicData( LPVOID pByte )
{
LPBYTE pBuffer= (LPBYTE)pByte; //pByte指向一个97字节的数据包结构
}
如果现在安上面的数据描述写个 struct 结构,我想肯定要出错的,因为 int 的位数不同,我在Win32下运行,请大家帮帮忙啦,帮我能正确的读出数据,放到 我的 struct 中,谢谢啦,一定给分。