一、描述:
从一个.h5格式的文件,把char*或者string类型的数据读取出来存到vector中。
二、环境:
linux下,HDF5版本hdf5-1.10.1.tar.gz。
三、代码测试:
#include <iostream>
#include <vector>
#include <string.h>
#include "H5Fpublic.h"
#include "hdf5.h"
#include "hdf5_hl.h"
using namespace std;
int main(int argc, char *argv[])
{
const char* readH5File = "testWriteh5String.h5"; // 文件在可执行目录下
hid_t hdfId = H5Fopen(readH5File, H5F_ACC_RDONLY, H5P_DEFAULT); // hdfId文件句柄
if(hdfId<0)
return -1;
const char *groupName = "/";
const char *childName = "/ROOTCHILD";
int ndims = 0;
herr_t herr;
int row;
hid_t groupid = H5Gopen2(hdfId, groupName,H5P_DEFAULT); // 打开文件
if(groupid<0)
{
H5Fclose(hdfId);
return -2;
}
herr=H5LTget_dataset_ndims(groupid,childName,&ndims); // 获得维度
hsize_t dims[ndims];
size_t nsz;
herr=H5LTget_