专家,我需要你帮助解码protobuf-c消息中的字符串值。说出消息
m { optional string id =0 }
字符串存储为值“test”,使用C api m.id = "test"
并使用m__pack(&m,buf);
打包它,消息流看起来像0a 04 74 65 73 74
,其中我的字符串值是ascii格式的74 65 73 74
。我尝试使用api m__unpack(NULL,length,buf)
来获取我的字符串值,其中buf
包含流。现在,当我尝试打印字符串printf("%s\n",msg->id)
时,我得到了seg错误。它不应该打印ascii值(74 65 73 74)?你能帮忙得到字符串值吗?谢谢你的帮助。
答案 0 :(得分:0)
解决.. 我的错误,我在 free _unpack api之后打印了msg-> id,因此出现问题。 谢谢你的时间。