/* * Program includes existing files into HDF5 file */ #include "hdf5.h" #define FILENAME "extdat-srb.h5" #define EXTFILE1 "/home/srb/Vault/srbAdmin.demo/86/55/yhist00001.1364127085.1124304666" #define EXTFILE2 "/home/srb/Vault/srbAdmin.demo/71/84/yhist00002.774552947.1124304673" #define EXTFILE3 "/home/srb/Vault/srbAdmin.demo/6/42/yhist00003.715977639.1124304680" #define DIM 5 #define DIM1 15 #define DIM2 3000 #define DIM3 22728 #define FAIL (-1) int main() { hid_t file_id, data_id, space_id, plist_id; herr_t status = FAIL; off_t offset = 0; hsize_t dims[3] = {DIM1, DIM2, DIM3}; hsize_t size; /* Create HDF5 file and dataset using external file property list */ /* -------------------------------------------------------------- */ file_id = H5Fcreate (FILENAME, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); space_id = H5Screate_simple (3, dims, NULL); plist_id = H5Pcreate (H5P_DATASET_CREATE); offset = 0; size = DIM * DIM2 * DIM3 *sizeof(float); status = H5Pset_external (plist_id, EXTFILE1, offset, size); offset = 0; size = DIM * DIM2 * DIM3 *sizeof(float); status = H5Pset_external (plist_id, EXTFILE2, offset, size); offset = 0; size = DIM * DIM2 * DIM3 *sizeof(float); status = H5Pset_external (plist_id, EXTFILE3, offset, size); data_id = H5Dcreate (file_id, "External Data", H5T_IEEE_F32BE, space_id, plist_id); status = H5Sclose (space_id); status = H5Pclose (plist_id); status = H5Dclose (data_id); status = H5Fclose (file_id); }