指针的强制转换,char*转结构体指针,该怎么处理
指针的强制转换,char*转结构体指针
定义有结构体typedef struct tagFILEINFO
{
u_long lFileSeq;
u_long lFileSizeHigh;
u_long lFileSizeLow;
char pData[0];
}tagFILEINFO;
---------------------------------------
char *pSend = new char[dwLen + 1];
memset(pSend,0,dwLen+1);
tagFILEINFO *pFileData = (tagFILEINFO*)pSend;
pFileData ->lFileSeq = ***;
pFileData ->lFileSizeHigh = ***;
pFileData ->lFileSizeLow = ***;
memcpy(pFileData ->pData,***,***);//4句赋值,数据源用***表示了
SendData(pSend ,...);//发送数据
问题:请教下这段代码有什么问题,将一个char*转成一个结构体指针,然后操作此结构体指针获取数据,再用char*发送出去,有没有什么不对的地方。
------解决方案--------------------
本来就是这样.
不过你的结构体内没有字段表示pdata里有多少数据.接收到后怎么解析呢