ГОСТ Р ИСО/ТС 10303-26—2015
грамме{см. С.10).
(♦include <string.h>
(♦include "hdf5.h"
^include "examples.h”
herr_t create_pop_group(hid_t file_id, char *’group_narr>e,
char *schema_name, hid_t *ggroup_id)
f
herr_t rstat;
hid_t group_id;
hid_t attr_id;
hid_t string_tid;
hid_t scalar_tid;
hid_t string_array_tid;
hsize_t array_dim;1);
rstat - -1;
‘•ggroup_id - -1;
group_id - H5Gcreate(file_id, group_name, H5P_DEFAULT, H5P_DEFAULT,
H5P_DEFAULT)
f
if(group_id > 0) j
*ggroup_id - group_id;
strmg_tid - H5Tcopy(H5T_C_S1);
H5Tset_size(string_tid, strien(schema_name)+1);
scaiar_tid - H5Screate(H5S_SCALAR);
attr_id - H5Acreate (groupid, "iso_20303_26_data", string_tid,
scalar_tid, H5P_DEFAULT, H5P_DEFAULT);
rstat - H5Awrite (attr_id,strir.g_tid,schema_name) ;
array_dim;0] - 4;
rstat - H5Tset_size(stringtid, H5T_VAR!ABL£);
string_array_tid - H5Tarray_create2(string_tid, 1, array_dim);
attr_id - H5Acreate(group_id, "_10303_26_data_set_nairies",
string_array_tid, scaiar_tid, H5P_DEFAULT, H5P_DEFAL’LT);
rstat *•H5Awrite (attr_id,strir.g_array_tid,defined_entity_names) ;
)
return(rstat);
)
Следующий фрагмент текста представляет распечатку результирующего файла HDF5, полученного в резуль
тате выполнения приведенной выше функции.
HDF5 "example.h5" (
GROUP "/" {
GROUP "Geometry_population" (
ATTRIBUTE "_103O3_26_data_set_r.arr.es" {
DATATYPE H5T_ARRAY ( [4] H5T_STR1NG {
STRSI2E HST_VARIABLE;
STRPAD H5T_STR_NULLTERM;
CSET H5T_CSET_ASCII;
CTYPE Н5Г C SI;
I )
DATASPACE SCALAR
DATA (
(0): [ "Point", "Many Point", "Line", "Land_survey" *
}
)
ATTRIBUTE "iso_10303_26_data" {
DATATYPE H5T_STRLNG {
27