首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

关于数据显示,该怎么解决

2013-01-25 
关于数据显示定义结构体typedef struct{uint 8auint32buint32cunit32duint8e[48]}ffffIdUDPServer控

关于数据显示
定义结构体
typedef struct{
uint 8  a;
uint32  b;
uint32  c;
unit32  d;
uint8   e[48]
}ffff;

IdUDPServer控件 收到的数据事件中 
{

 ffff adc; 
 memcpy(&abc,&AData[0],sizeof(ffff));
 Memo1->line->add(adc.a);
 Memo1->line->add(adc.b);
}

结果显示的数据和我实际在里面填的数据对不上,发送端填的是从1到1000递增的,Memo里显示的是很长的大数,
是网络收发大小端不一致还是数据收到之后的处理不对?

[解决办法]
数据对齐?
[解决办法]
idpsrvr1UDPRead(TIdUDPListenerThread *AThread, TBytes AData,
          TIdSocketHandle *ABinding)

肯定是这个,哈哈
[解决办法]
#pragma pack(push, 1)
typedef struct{
uint 8 a;
uint32 b;
uint32 c;
unit32 d;
uint8 e[48]
}ffff;
#pragma pack(pop)


[解决办法]
结构体对齐

热点排行