Google Protocol Buffers - PullRequest
       16

Google Protocol Buffers

2 голосов
/ 07 июля 2011

Я пытаюсь проанализировать очень большое сообщение (около 25 полей) и сериализовать их.Поля в сообщении появляются в одном и том же порядке все время, и в файле прото я их соответствующим образом пронумеровал.Есть ли способ установить поля со значением тега (число в файле прото)?

Спасибо, Хим.

1 Ответ

6 голосов
/ 08 июля 2011
google::protobuf::Message myMessage;
const google::protobuf::Descriptor * myDescriptor = myMessage.GetDescriptor();
const google::protobuf::FieldDescriptor * myField = myDescriptor->FindFieldByNumber(9001);
const google::protobuf::Reflection * myReflection = myMessage.GetReflection();
myReflection->SetInt32( &myMessage, myField, 7);

Очевидно, вам нужно изменить номер поля, тип поля и значение, которое вы хотите установить.

...