c++使用H5Cpp.h创建文件并写入数据
时间: 2024-02-18 18:04:42 浏览: 206
通过C++编程实现文件的创建
以下是使用H5Cpp.h创建文件并写入数据的示例代码:
```c++
#include "H5Cpp.h"
#include <iostream>
const H5std_string FILE_NAME("example.h5");
const H5std_string DATASET_NAME("dataset");
int main(void)
{
// 创建HDF5文件
H5::H5File file(FILE_NAME, H5F_ACC_TRUNC);
// 创建数据集的数据空间
hsize_t dims[2] = {4, 6};
H5::DataSpace dataspace(2, dims);
// 创建数据集的属性
H5::DSetCreatPropList plist;
plist.setChunk(2, dims);
// 创建数据集
H5::DataSet dataset = file.createDataSet(DATASET_NAME, H5::PredType::NATIVE_DOUBLE, dataspace, plist);
// 写入数据
double data[4][6] = {{1.0, 2.0, 3.0, 4.0, 5.0, 6.0},
{7.0, 8.0, 9.0, 10.0, 11.0, 12.0},
{13.0, 14.0, 15.0, 16.0, 17.0, 18.0},
{19.0, 20.0, 21.0, 22.0, 23.0, 24.0}};
dataset.write(data, H5::PredType::NATIVE_DOUBLE);
// 读取数据
double read_data[4][6];
dataset.read(read_data, H5::PredType::NATIVE_DOUBLE);
// 输出读取的数据
for(int i=0; i<4; i++){
for(int j=0; j<6; j++){
std::cout << read_data[i][j] << " ";
}
std::cout << std::endl;
}
// 关闭数据集和文件
dataset.close();
file.close();
return 0;
}
```
在此示例中,我们首先创建了一个名为example.h5的HDF5文件,并创建了一个名为dataset的数据集。然后,我们将4x6的double类型数据写入数据集,并读取并输出数据集中的数据。最后,我们关闭数据集和文件。
请注意,此示例仅用于演示目的,实际使用时需要根据需要进行修改。
阅读全文