结构体转字符串
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;
}