如何从C++中读取HDF5文件中的属性名称和数据集名称,这里我不知道HDF5文件中的属性是什么

如何从C++中读取HDF5文件中的属性名称和数据集名称,这里我不知道HDF5文件中的属性是什么,c++,hdf5,C++,Hdf5,我有一个HDF5文件,比如Select.h5,但除了文件名,我对该文件一无所知,如何使用c++从该文件名中知道属性名和数据集名我们可以使用组ID实现这一点,一旦创建了HDF5文件,默认组将使用名称“/”创建,即根组 这样,我们可以利用数据集元数据获取HDF5文件的数据集信息,利用C++中的HDFQL,获取属性的信息,包括其名称< P>,可以打开名为Expul.H5的HDF5文件: HDFql::execute("USE FILE example.h5"); 从那里,检索存储在组/HDF5文件根


我有一个HDF5文件,比如Select.h5,但除了文件名,我对该文件一无所知,如何使用c++从该文件名中知道属性名和数据集名

我们可以使用组ID实现这一点,一旦创建了HDF5文件,默认组将使用名称“/”创建,即根组

这样,我们可以利用数据集元数据获取HDF5文件的数据集信息,利用C++中的HDFQL,获取属性的信息,包括其名称

< P>,可以打开名为Expul.H5的HDF5文件:
HDFql::execute("USE FILE example.h5");
从那里,检索存储在组/HDF5文件根目录中的对象(即组、数据集、属性)的名称可以如下所示:

HDFql::execute("SHOW /");
要仅检索存储在/包括关键字属性中的属性,请执行以下操作:

HDFql::execute("SHOW ATTRIBUTE /");
要检索HDF5文件中存在的所有对象,请从/使用关键字**:

HDFql::execute("SHOW / LIKE **");
要检索HDF5文件中从/开始的所有数据集,请执行以下操作:

HDFql::execute("SHOW DATASET / LIKE **");

嗨,欢迎来到stack overflow。有关如何提问和相应更新问题的详细信息,请参阅链接。此命令仅显示光标,对吗?然后如何访问实际属性并将其打印到控制台,例如使用std::cout?@MrSquid yes,默认情况下,SHOW命令将结果放置在光标中;但是,您可以将结果重定向到文件或内存中,即用户定义的变量。示例:SHOW INTO FILE output.txt或SHOW INTO MEMORY 0 0是预先注册的变量的编号。要访问实际属性并在控制台中打印它,假设结果存储在游标中,可以执行以下操作:HDFql::cursorFirst;,标准::cout