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