protobuf c字符串解码

时间:2012-08-22 12:37:35

标签: c protocol-buffers

专家,我需要你帮助解码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)?你能帮忙得到字符串值吗?谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

解决.. 我的错误,我在 free _unpack api之后打印了msg-> id,因此出现问题。 谢谢你的时间。