我收到的数据为unsigned char*
,其中包含一个字节数组。
unsigned char* byteptr = static_cast<unsigned char*>(msg.data());
我想初始化我的协议缓冲区,这是一个地址簿。我认为最好的匹配是使用ParseFromIstream如下:
my_address_book.ParseFromIstream()
关于字节数组,即unsigned char*
。由于在编译时不知道字节数组的长度,因此有两个选项:
选项1.可变长度数组
unsigned char bytearray[msg.size()];
std::copy(byteptr, byteptr + msg.size(), bytearray);
选项2.动态分配数组并在完成后将其删除
unsigned char* bytearray = new unsigned char [msg.size()];
std::copy(byteptr, byteptr + msg.size(), bytearray);
我有以下问题:
ParseFromIstream
unsigned char*