HDF5读char*类型或者string类型数据

本文介绍如何在Linux环境下使用HDF5版本hdf5-1.10.1从.h5文件中读取char*或string类型的数据,并将其存储到vector容器中。通过示例代码演示了具体步骤,包括打开文件、获取数据集维度、读取数据等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HDF5读char*类型或者string类型数据

一、描述:

从一个.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_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值