Last modified: 16 April 2013
Name: H5Tset_strpad
Signature:
  herr_t `H5Tset_strpad`( hid_t `dtype_id`, H5T_str_t `strpad` )

Purpose:
  Defines the type of padding used for character strings.

Description:
  `H5Tset_strpad` defines the type of padding used for a string datatype.

  The method used to store character strings differs with the programming language:

  - C usually null terminates strings while
  - Fortran left-justifies and space-pads strings.

  Valid values of `strpad` are as follows:

  `H5T_STR_NULLTERM` (`0`)
    Null terminate (as C does).
  `H5T_STR_NULLPAD` (`1`)
    Pad with zeros.
  `H5T_STR_SPACEPAD` (`2`)
    Pad with spaces (as FORTRAN does).

  When converting from a longer string to a shorter string, the behavior is as follows. If the shorter string is `H5T_STR_NULLPAD` or `H5T_STR_SPACEPAD`, then the string is simply truncated. If the short string is `H5T_STR_NULLTERM`, it is truncated and a null terminator is appended.

  When converting from a shorter string to a longer string, the longer string is padded on the end by appending nulls or spaces.

Parameters:

  hid_t `dtype_id` | IN: Identifier of datatype to modify.
  H5T_str_t `strpad` | IN: String padding type.

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

Fortran90 Interface: h5tset_strpad_f

      SUBROUTINE h5tset_strpad_f(type_id, strpad, hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: type_id
                                       ! Datatype identifier
        INTEGER, INTENT(IN) :: strpad  ! String padding method for a string datatype
                                       ! Possible values of padding type are:
                                       !    Pad with zeros (as C does):
                                       !       H5T_STR_NULLPAD_F(0)
                                       !    Pad with spaces (as FORTRAN does):
                                       !       H5T_STR_SPACEPAD_F(1)
        INTEGER, INTENT(OUT) :: hdferr ! Error code
      END SUBROUTINE h5tset_strpad_f