HDF5 C# pinvoke 读取数据集名称列表

问题描述

在 C# 中是否有使用 pinvoke 方法获取数据集名称列表的简单方法? C 代码使用:“len = H5Gget_objname_by_idx(gid,(hsize_t)i,memb_name,(size_t)MAX_NAME);”在 https://support.hdfgroup.org/ftp/HDF5/examples/misc-examples/h5_info.c 中,但该函数未出现在 C# 代码中。

解决方法

您可以使用 HDFql 获取 C# 中的数据集名称列表,如下所示(以 HDF5 文件 my_file.h5 为例):

 HDFql.Execute("SHOW DATASET my_file.h5 /");

如果您想递归获取数据集名称列表(即存储在组、子组等中的数据集名称),请执行以下操作:

 HDFql.Execute("SHOW DATASET my_file.h5 / LIKE **");

检查 HDFql reference manualexamples 以获取更多信息。