puppet21 发表于 2013-9-23 11:15 
还是那个问题,怎么还原?
VC中运行过的代码。
#include "stdio.h"
typedef struct DataBag
{
int baghand;
int bagstyle;
char dataout ;
}DATABAG;
DATABAG dg_tx;
DATABAG * p_dg_rx;
main()
{
char * ptx; /*发送指针*/
int i;
char tx_buf[100];
char rx_buf[100];
dg_tx.baghand = 1234;
dg_tx.bagstyle = 5678;
dg_tx.dataout = 90;
ptx = (char *)(&dg_tx);
for(i=0;i<sizeof(dg_tx);i++)
{
tx_buf=*ptx++; /*模仿发送*/
rx_buf=tx_buf; /*这里模仿接收字节*/
}
/*将接收缓存指针给接收结构体,实际是完成数据转换*/
p_dg_rx = (DATABAG *)rx_buf;
printf("\r\n%d,%d,%d\r\n",p_dg_rx->baghand,p_dg_rx->bagstyle,p_dg_rx->dataout);
} |