Hierarchical Data Format(HDF) 笔记

                     

贡献者: addis

  • 本文处于草稿阶段。

1. HDF C++ API

   常识:

代码 1:test_hdf5.cpp
#include <iostream>
#include <vector>
#include <H5Cpp.h>

// Use the standard HDF5 namespaces
using namespace H5;
using namespace std;

int main() {
	vector<double> data = {1., 2., 3., 4., 5., 6.};

	// H5F_ACC_TRUNC: replace file if exist
	H5File file("testfile.h5", H5F_ACC_TRUNC);

	hsize_t dims[2] = {2, 3}; // array size (ROW major!)
	DataSpace dataspace(2, dims);

	// use Predfined Type (PredType), double
	DataSet dataset = file.createDataSet("myDoubleArray",
		PredType::NATIVE_DOUBLE, dataspace);

	dataset.write(data.data(), PredType::NATIVE_DOUBLE);

	// will be auto called in destructors
	dataset.close(); dataspace.close(); file.close();
}

DSetCreatPropList plist;
plist.setDeflate(6); // compression level from 0 to 9
DataSet dataset = file.createDataSet("myDoubleArray",
	PredType::NATIVE_DOUBLE, dataspace, plist);

                     

© 小时科技 保留一切权利