unsigned char tmp_fill_buf[40];
...
file_id = H5Fopen (FILENAME, H5F_ACC_RDWR, H5P_DEFAULT);
dataset_id = H5Dopen (file_id, TABLE_NAME, H5P_DEFAULT);
datatype_id = H5Dget_type (dataset_id);
status = H5TBget_table_info (file_id, TABLE_NAME, &nfields, &nrecords);
hasfill = H5TBAget_fill (file_id, TABLE_NAME, dataset_id, tmp_fill_buf);
for(i = 0; i < nfields; i++) {
member_type_id = H5Tget_member_type (datatype_id, (unsigned)i);
native_mem_type_id = H5Tget_native_type (member_type_id, H5T_DIR_ASCEND);
member_offset = H5Tget_member_offset(datatype_id, (unsigned)i);
printf ("member_offset: %i\n", member_offset);
memb_class = H5Tget_class (member_type_id);
switch (memb_class){
case H5T_INTEGER:
/* convert unsigned char array to integer */
break;
case H5T_FLOAT:
/* convert unsigned char array to double or float */
if (H5Tequal (native_mem_type_id, H5T_NATIVE_DOUBLE)) {
}
else if (H5Tequal (native_mem_type_id, H5T_NATIVE_FLOAT)) {
f.i = tmp_fill_buf[member_offset] |
(tmp_fill_buf[member_offset+1] << 8) |
(tmp_fill_buf[member_offset+2] << 16) |
(tmp_fill_buf[member_offset+3] << 24) ;
printf ("Field %i Fill Value: %lf\n", i, f.f);
}
break;
case H5T_STRING:
/* convert unsigned char array to string */
strsize= H5Tget_size (member_type_id);
printf ("Field %i Fill Value: ", i);
for (j = 0;j<strsize;j++)
printf ("%c", tmp_fill_buf[member_offset+j]);
printf ("\n");
break;
} Comment |
---|
HTML Wrap |
---|
| Bitbucket Server file |
---|
repoSlug | examples |
---|
branchId | refs/heads/master |
---|
projectKey | SUP |
---|
filepath | C/tableattr.c |
---|
showLineNumbers | true |
---|
lineStart | 62 |
---|
progLang | plain |
---|
lineEnd | 100 |
---|
applicationLink | 5ac7b370-7412-3c8c-ad20-807a68261336 |
---|
|
|
|
Comment |
---|
HTML Wrap |
---|
class | hdf-togglebox hdf-fortran hdf-togglebox-hidden |
---|
| Bitbucket Server file |
---|
repoSlug | hdf5 |
---|
branchId | refs/heads/1.10/master |
---|
projectKey | HDFFV |
---|
filepath | fortran/examples/compound.f90 |
---|
showLineNumbers | true |
---|
lineStart | 25 |
---|
progLang | plain |
---|
lineEnd | 35 |
---|
applicationLink | 5ac7b370-7412-3c8c-ad20-807a68261336 |
---|
|
|
|
|