Open hz-bin opened 6 months ago
我感觉ParseFromString有问题,得到的是二进制数据,你没取长度会在0的地方截断
我感觉ParseFromString有问题,得到的是二进制数据,你没取长度会在0的地方截断
用ParseFromArray,改成下面这样就ok了。多谢大佬。
int PBTestNumber(lua_State* L) {
size_t len;
const char* s = lua_tolstring(L, 1, &len);
TestNumber * msg = new TestNumber();
msg->ParseFromArray(s, len);
std::cout << "in PBTestNumber msg=" << msg->ShortDebugString() << std::endl;
return 0;
}
lua代码:
C++代码:
这里输出的是:in PBTestNumber msg=c: 300