c++ - 如何读取 google::protobuf::io::CodedOutputStream::WriteVarint32ToArray 写入的数据
问题描述
我正在使用此方法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
解决方案
CodedInputStream::ReadVarint32
. 没有static
版本,您需要实际实例化一个CodedInputStream
由您的数组支持的;有一个构造函数采用指针和大小。
推荐阅读
- javascript - 如何将平面旋转 90 度,带有纹理
- c++ - 将 SDL2 与 cpp 一起使用
- node.js - 如何在 React Native 中向 Axios GETRequest 发送原始数据主体?
- c - 使用openMP并行化矩阵向量乘法的最佳方法
- rust - 拥有的价值仍然以某种方式引用
- flutter - 如何使用 Getit e injection Container
- flutter - 颤振:是否可以从另一个文件加载由 const 定义的列表?
- electron - Nextron vs Next.js '-- 电子示例'
- python - 根据其他列值填充 NaN
- python - 两个具有相同 y 轴的直方图