2

専門家の皆さん、protobuf-cメッセージの文字列値をデコードするのにあなたの助けが必要です。メッセージを言う

m { optional string id =0 }

文字列は値「test」で保存されます。Capim.id = "test"を使用してパックしm__pack(&m,buf);、メッセージストリームを使用してパックすると、のよう0a 04 74 65 73 74になります。ここで、文字列値は74 65 73 74ASCII形式です。ストリームm__unpack(NULL,length,buf)が含まれているAPIを使用して、文字列値を取り戻そうとします。buf文字列を印刷しようとすると、printf("%s\n",msg->id)セグメンテーション違反が発生します。アスキー値(74 65 73 74)を出力するべきではありませんか?文字列値の取得を手伝っていただけませんか。助けてくれてありがとう。

4

1 に答える 1

0

解決しました..私の間違いです。無料の_unpack APIの後にmsg-> idを出力していたため、問題が発生しました。御時間ありがとうございます。

于 2012-08-24T06:09:36.507 に答える