Page tree









Reads one or several fields. The fields are identified by name


H5TB_READ_FIELDS_NAME ( loc_id, table_name, field_names, start, nrecords, type_size, field_offset, dst_sizes, data)


herr_t H5TBread_fields_name ( hid_t loc_id, const char *table_name, 
             const char * field_names, hsize_t start, hsize_t nrecords, size_t type_size,  const size_t *field_offset, 
             const size_t *dst_sizes, void *data )

subroutine h5tbread_field_name_f(loc_id, dset_name, field_name, start, &
                                 nrecords, type_size, buf, errcode) 
  implicit none
  integer(HID_T), intent(IN) :: loc_id           ! file or group identifier 
  character(LEN=*), intent(IN) :: dset_name      ! name of the dataset 
  character(LEN=*), intent(IN) :: field_name     ! name of the field
  integer(HSIZE_T), intent(IN) :: start          ! start record 
  integer(HSIZE_T), intent(IN) :: nrecords       ! records
  integer(SIZE_T), intent(IN) :: type_size       ! type size
  , intent(IN), dimension(*) :: buf        ! data buffer 
  integer :: errcode                             ! error code
end subroutine h5tbread_field_name_f

hid_t loc_idIN: Identifier of the file or group to read the table within
const char *table_nameIN: The name of the dataset to read
const char * field_namesIN: An array containing the names of the fields to read
hsize_t  startIN: The start record to read from
hsize_t nrecordsIN: The number of records to read
hsize_t type_size

IN: The size in bytes of the structure associated with the table (This value is obtained with sizeof.)

const size_t *field_offsetIN: An array containing the offsets of the fields
const size_t *dst_sizesIN: An array containing the size in bytes of the fields
void *dataOUT: Buffer with data


H5TB_READ_FIELDS_NAME reads the fields identified by field_names from a dataset named table_name attached to the object specified by the identifier loc_id


Returns a non-negative value if successful; otherwise returns a negative value.


hl / test / test_table.c [1185:1191]
 1.10/master  HDFFV/hdf5  Copy
    start    = 0;
    nrecords = NRECORDS;

    /* read an invalid field, should fail */
    if ( H5TBread_fields_name(fid,"table10","DoesNotExist",start,nrecords,
        sizeof(float),0,field_sizes_pre,pressure_out) >=0)
      goto out;

--- Last Modified: January 08, 2020 | 03:10 PM