专家,我需要您的帮助来解码 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 74
ascii 格式。m__unpack(NULL,length,buf)
我尝试使用buf
包含流的 api 来取回我的字符串值。现在,当我尝试打印字符串时,printf("%s\n",msg->id)
我得到了段错误。它不应该打印 ascii 值(74 65 73 74)吗?你能帮忙获取字符串值吗?谢谢您的帮助。