2017-01-10 7 views
0

私はFortranでHDF5ファイルを読んでいて、オブジェクト(グループ)名がわからない先験者です。だから、私はその情報を抽出するために、次のコードスニペットを使用しています: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 

、私はしかし、私はその保証はありません100の任意の長さで

character(len=100) :: objName 

を定義しましたオブジェクト名は100文字以下です。だから私の実際の質問:

HDF5のオブジェクト名の最大長はありますか?

+0

@francescalusないとして、これを確認しました。私の質問は、データセットに格納されている文字列のサイズが不明確ではなく、データセット自身の_name_です。 –

+0

これを正しく解析しました。ありがとうございました。 – francescalus

答えて

1

最大ヘッダーサイズ(ヘッダーにはHDF5オブジェクトに関するすべてのメタデータが含まれています)を除いて、HDF5のマニュアルに特定の最大値はありません。

制限は64kBです。「オブジェクトヘッダーの制限はありますか?それがHDF5にどのように影響しますか?」という質問を参照してください。 https://support.hdfgroup.org/HDF5/faq/limits.html

これは、原則として、最大値の長さをその値に置きます。

既定の最大長を指定することができます。これまでのようにエラーチェックを行います。 HDF5のソースコードを調べて、特定の制限があるかどうかを確認します。

EDIT:関数H5Gget_obj_info_idx_fは、渡される文字変数の長さに名前を切り捨てます。名前が有効であることを通常の名前クエリで後で確認できます。

EDIT2:HDFグループでの作業者がこのメーリングリストのメッセージはまさに2010年https://lists.hdfgroup.org/pipermail/hdf-forum_lists.hdfgroup.org/2010-September/003662.html

関連する問題