写一段C++代码实现将数组中的值写进HDF5文件
时间: 2024-06-03 14:09:56 浏览: 148
好的,以下是实现将数组中的值写进HDF5文件的C代码示例:
#include <stdio.h>
#include <stdlib.h>
#include "hdf5.h"
#define FILENAME "my_array.h5"
#define DATASETNAME "my_dataset"
int main() {
hid_t file_id, dataset_id, dataspace_id;
hsize_t dims[1] = {10};
float data[10] = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0};
// Create a new HDF5 file
file_id = H5Fcreate(FILENAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
// Create a dataspace for the dataset
dataspace_id = H5Screate_simple(1, dims, NULL);
// Create the dataset and write data to it
dataset_id = H5Dcreate(file_id, DATASETNAME, H5T_NATIVE_FLOAT, dataspace_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
H5Dwrite(dataset_id, H5T_NATIVE_FLOAT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data);
// Close and release resources
H5Dclose(dataset_id);
H5Sclose(dataspace_id);
H5Fclose(file_id);
printf("Data has been written to HDF5 file.\n");
return 0;
}
注意:这个程序一次只能写入一个一维数组,如果需要写入多个数组,需要修改程序。此外,HDF5是一个强大的工具,支持各种数据类型和数据结构,这里只是简单示例。
阅读全文