如何使用HDF5DotNet将字符串数组正确写入HDF5文件中的数据集?

时间:2019-01-11 23:01:41

标签: c# string hdf5

我正在尝试使用HDF5DotNet将字符串数组写入数据集中,当我检查文件时,数据集仅包含应在字符串所在的“ @ëp”。

我已经成功创建了hdf5文件,并创建了代表生物医学信号的浮点数据集。在当前正在尝试创建的该数据集中,我需要获取有关信号的一些信息,这些信息现在包含在字符串数组中。我已经检查了控制台中的数组-dset_info中的字符串与我想要的一样。我创建了一个数据空间,一个数据类型(文档指定如果我要使用可变长度的字符串类型,则要放置一个负数),数据集,并尝试将数组写入数据集。这是我的代码:

//creation of dset_info is before that
H5DataSpaceId spaceIdinfo = H5S.create_simple(RANK, dimsinfo);

H5DataTypeId typeIdinfo = H5T.create(H5T.CreateClass.STRING, -1);

H5DataSetId dataSetIdinfo = H5D.create(fileId, "/Info", typeIdinfo, spaceIdinfo);

H5D.write(dataSetIdinfo, typeIdinfo , new H5Array<string>(dset_info));

这只是我将数组写入数据集的部分。如我所说,我检查了dset_info,这很好。在HDFView中打开文件后,我打开了数据集,它是一个2x3数组,它是:“ @ëp”,而不是我想要的字符串。我在这里做什么错了?

0 个答案:

没有答案