Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何从字段描述符protobuf获取消息名_C++_Protocol Buffers - Fatal编程技术网

C++ 如何从字段描述符protobuf获取消息名

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

我希望能够访问给定其变量之一的消息名称。例如,让我们假设在我的.proto文件中

syntax = "proto3";
package one;

message Foo{
 uint32 x = 1;
}

然后我使用一个字段描述符来迭代消息的内容,在本例中,它只是一个变量。我知道我可以使用FieldDescriptor::full_name(),但它返回“one.Foo.x”,如果我使用FieldDescriptor::name(),它只返回“x”。可以只返回“Foo”吗?

您可能正在查找
FieldDescriptor::containing_type
。这将为包含的消息提供
描述符*
,您可以根据需要对其进行查询。啊,没错,我太关注字段描述符了,以至于忘记了描述符。我要找的是Descriptor::name()谢谢。