我在google::protobuf::io::CodedOutputStream
中使用此方法将可变长度编码的整数写入缓冲区:
static uint8 * WriteVarint32ToArray(uint32 value, uint8 * target)
读取相同值的对应方法是什么?
我在文档中看到了这些
static const uint8 * ReadLittleEndian32FromArray(const uint8 * buffer, uint32 * value)
static const uint8 * ReadLittleEndian64FromArray(const uint8 * buffer, uint64 * value)
但是似乎没有一个可以满足我的需求。我期待有ReadVarint32FromArray
,但是这似乎不可用。由于我读的是一个内存缓冲区而不是一个流,因此我需要一种静态方法,如写该方法。
文档:https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.io.coded_stream
答案 0 :(得分:2)
CodedInputStream::ReadVarint32
。没有static
版本,您实际上需要实例化数组支持的CodedInputStream
;有一个构造函数采用指针和大小。