2

专家,我需要您的帮助来解码 protobuf-c 消息中的字符串值。说消息

m { optional string id =0 }

该字符串使用值“test”存储,通过使用 C apim.id = "test"并使用m__pack(&m,buf);消息流将其打包将如下所示0a 04 74 65 73 74,其中我的字符串值采用74 65 73 74ascii 格式。m__unpack(NULL,length,buf)我尝试使用buf包含流的 api 来取回我的字符串值。现在,当我尝试打印字符串时,printf("%s\n",msg->id)我得到了段错误。它不应该打印 ascii 值(74 65 73 74)吗?你能帮忙获取字符串值吗?谢谢您的帮助。

4

1 回答 1

0

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

于 2012-08-24T06:09:36.507 回答