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

构造体转字符串

2013-01-07 
结构体转字符串typedef struct _tag_M2M_HEAD{int sizeint cmdidintseqidint versionnumchar Security

结构体转字符串
typedef struct _tag_M2M_HEAD
{
int size;
int cmdid;
intseqid;
int versionnum;
char SecurityID;
char ReserveWord;
int terminalID;

}M2M_HEAD;

//数据包
typedefstruct _tag_M2M_PACKAGE
{
M2M_HEADhead;//数据报的包头

//数据包包体
chardata[100];
intn;
time_tt;

} M2M_PACKAGE;



如果M2M_PACKAGE这个结构体中有数据,怎么把那些数据转化成字符串,并且其他地方收到这个字符串还可以还原成现在的结构体啊,网上我看了好多方法,都没有用,不知道是不是结构体中嵌套了一个结构体这样不行啊,求各位指教啊,最好有个源码
[解决办法]
给你写一个从结构到字符串的吧,至于从字符串反解析你就自己做吧。


int MWM_HEAD_to_str(char **dest, struct M2M_HEAD *pHead)
{
unsigned int size = 0;

if (dest == NULL 
[解决办法]
 pHead == NULL)
return -1;

size = 128 + 5 * sizeof(int) + 2 *sizeof(char);

*dest = (char *)malloc(size);
if (*dest == NULL)
return -2;

memset(*dest, 0, size);

snprintf(*dest, size, 
"size=%d, "
"cmdid=%d, "
"seqid=%d, "
"versionnum=%d, "
"SecurityID=%c, "
"ReserveWord=%c, "
"terminalID=%d"
, pHead->size, pHead->cmdid, pHead->seqid, pHead->versionnum, 
pHead->SecurityID, pHead->ReserveWord, pHead->terminalID);

return 0;
}

热点排行