Как читать данные, написанные google :: protobuf :: io :: CodedOutputStream :: WriteVarint32ToArray - PullRequest
0 голосов
/ 26 сентября 2018

Я использую этот метод в google::protobuf::io::CodedOutputStream для записи закодированных целых чисел переменной длины в буфер:

static uint8 * WriteVarint32ToArray(uint32 value, uint8 * target)

Какой соответствующий метод для чтения того же значения?

Iсм. это в документации:

static const uint8 * ReadLittleEndian32FromArray(const uint8 * buffer, uint32 * value)
static const uint8 * ReadLittleEndian64FromArray(const uint8 * buffer, uint64 * value)

Но ни один из них, кажется, не делает то, что мне нужно.Я ожидал ReadVarint32FromArray, но это кажется недоступным.Так как я читаю запись в буфер памяти, а не в поток, мне нужен статический метод, такой как uesd для записи.

Документация: https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.io.coded_stream

1 Ответ

0 голосов
/ 26 сентября 2018

CodedInputStream::ReadVarint32.Нет версии static, вам нужно создать экземпляр CodedInputStream, поддерживаемый вашим массивом;есть конструктор, принимающий указатель и размер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...