#include #include "hdf5.h" int main() { hid_t file_id; hid_t cprops_id; printf("Creating \"test.h5\"... "); cprops_id = H5Pcreate(H5P_FILE_CREATE); H5Pset_attr_creation_order(cprops_id, H5P_CRT_ORDER_TRACKED | H5P_CRT_ORDER_INDEXED); file_id = H5Fcreate("test.h5", H5F_ACC_TRUNC, cprops_id, H5P_DEFAULT); if(file_id > 0) printf("done.\n"); else{ printf("error!\n"); return 1; }; H5Pclose(cprops_id); hid_t space_id; space_id = H5Screate(H5S_SCALAR); printf("Creating one attribute... "); hid_t attr_id = H5Acreate(file_id, "min", H5T_INTEL_I32, space_id, H5P_DEFAULT, H5P_DEFAULT); if(attr_id > 0) printf("done.\n"); else{ printf("error!\n"); return 1; }; H5Aclose(attr_id); printf("Creating/deleting other attribute... \n"); for(int i = 0; i <= 100000; i++) { printf("Iteration %d... ", i); H5Adelete(file_id, "max"); hid_t attr_id = H5Acreate(file_id, "max", H5T_INTEL_I32, space_id, H5P_DEFAULT, H5P_DEFAULT); if(attr_id > 0) printf("done.\n"); else{ printf("error!\n"); return 1; }; H5Aclose(attr_id); } H5Sclose(space_id); H5Fclose(file_id); return 0; }