原文: https://blog.youkuaiyun.com/AXuan_K/article/details/64906924
最后总结一句,使用protobuf,在c++中给string赋值c字符串的时候一定要指定长度,
因为事实上赋值的内容可能是一个Bytes数组,而不是一个标准的'\0'结尾的字符串。
赋值范例如下:
char pData[1024]={0};
//...... //serialized data
//int length = GetDataLength();
std::string strBuf = "";
strBuf.assign(&pData[0], length);