C++ 如何从字段描述符protobuf获取消息名
我希望能够访问给定其变量之一的消息名称。例如,让我们假设在我的.proto文件中C++ 如何从字段描述符protobuf获取消息名,c++,protocol-buffers,C++,Protocol Buffers,我希望能够访问给定其变量之一的消息名称。例如,让我们假设在我的.proto文件中 syntax = "proto3"; package one; message Foo{ uint32 x = 1; } 然后我使用一个字段描述符来迭代消息的内容,在本例中,它只是一个变量。我知道我可以使用FieldDescriptor::full_name(),但它返回“one.Foo.x”,如果我使用FieldDescriptor::name(),它只返回“x”。可以只返回“Foo”吗?您可能正在查找Fi
syntax = "proto3";
package one;
message Foo{
uint32 x = 1;
}
然后我使用一个字段描述符来迭代消息的内容,在本例中,它只是一个变量。我知道我可以使用FieldDescriptor::full_name(),但它返回“one.Foo.x”,如果我使用FieldDescriptor::name(),它只返回“x”。可以只返回“Foo”吗?您可能正在查找
FieldDescriptor::containing_type
。这将为包含的消息提供描述符*
,您可以根据需要对其进行查询。啊,没错,我太关注字段描述符了,以至于忘记了描述符。我要找的是Descriptor::name()谢谢。