Protocol buffers 如何获取protobuf消息中的所有字段?
这些天我在使用protobuf,我遇到了一个问题。 我想获取protobuf消息中的所有字段,并且我知道一种方法,使用Protocol buffers 如何获取protobuf消息中的所有字段?,protocol-buffers,Protocol Buffers,这些天我在使用protobuf,我遇到了一个问题。 我想获取protobuf消息中的所有字段,并且我知道一种方法,使用field\u count()获取消息的字段计数,然后使用函数FindFieldByNumber()获取所有字段。但是,如果消息的字段号不连续,例如: message MyPb { uint32 id =1; int32 score =2; string name =5; uint32 high =6; } 然后,MyPb的字段计数是4,我使用 fo
field\u count()
获取消息的字段计数,然后使用函数FindFieldByNumber()
获取所有字段。但是,如果消息的字段号不连续,例如:
message MyPb
{
uint32 id =1;
int32 score =2;
string name =5;
uint32 high =6;
}
然后,MyPb的字段计数是4,我使用
for(int i=1; i<=count; ++i)
{
descriptor->FindFieldByNumber(i);
}
for(int i=1;iFindFieldByNumber(i);
}
其中count=4
使用此方法,是否可以获取字段名称
和高
?
如果没有,有人知道更好的方法吗?
非常感谢。您可以使用
描述符->字段(i)
而不是FindFieldByNumber()。请检查。非常感谢,您的回答解决了我的问题。