HDF5中对象名称的最大长度?

时间:2017-01-10 15:24:49

标签: fortran hdf5

我正在Fortran中读取HDF5文件,并且不知道对象(组)名称​​先验。所以,我使用以下代码片段来提取该信息:

CALL H5Gn_members_f(group_id, groupName, nlinks, error)
do ilink = 0, nlinks-1
  CALL H5Gget_obj_info_idx_f(group_id, groupName, ilink, objName, H5G_GROUP_F, error)
enddo

在这里,我定义了

character(len=100) :: objName

任意长度为100.但是,我无法保证对象名称不超过100个字符。所以,我的实际问题是:

HDF5中的对象名称是否有最大长度?

1 个答案:

答案 0 :(得分:1)

除了最大标题大小(标题包含有关HDF5对象的所有元数据)之外,HDF5文档中没有找到特定的最大值。

限制为64kB,请参阅问题"是否存在对象标题限制以及它如何影响HDF5?"在https://support.hdfgroup.org/HDF5/faq/limits.html

原则上,它将最大名称长度设置为大约该值。

您可以指定一个较大的默认最大长度,并执行一些错误检查。我将检查HDF5的源代码,看看是否有特定的限制。

编辑:函数H5Gget_obj_info_idx_f将名称截断为传入的字符变量的长度。之后可以使用名称有效的常规名称查询进行检查。

EDIT2:截至2010年,与HDF小组合作的人员发送的此邮件列表消息证实了这一点。https://lists.hdfgroup.org/pipermail/hdf-forum_lists.hdfgroup.org/2010-September/003662.html