原文: https://blog.csdn.net/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);
posted on 2018-08-31 14:04  zdleek  阅读(56)  评论(0)    收藏  举报  来源