Last modified: 9 October 2014
Name: H5Dcreate

Signature:
  hid_t `H5Dcreate`( hid_t `loc_id`, const char *`name`, hid_t `type_id`, hid_t `space_id`, hid_t `dcpl_id` )

  hid_t `H5Dcreate`( hid_t `loc_id`, const char *`name`, hid_t `dtype_id`, hid_t `space_id`, hid_t `lcpl_id`, hid_t `dcpl_id`, hid_t `dapl_id` )

Purpose:
  Creates a new dataset and links it to a location in the file.

Description:
  `H5Dcreate` is a macro that is mapped to either `H5Dcreate1` or `H5Dcreate2`, depending on the needs of the application.

  Such macros are provided to facilitate application compatibility. Their use and mappings are fully described in “API Compatibility Macros in HDF5”; we urge you to read that document closely.

  When both the HDF5 Library and the application are built and installed with no specific compatibility flags, `H5Dcreate` is mapped to the most recent version of the function, currently `H5Dcreate2`. If the library and/or application is compiled for Release 1.6 emulation, `H5Dcreate` will be mapped to `H5Dcreate1`. Function-specific flags are available to override these settings on a function-by-function basis when the application is compiled.

  Specific compile-time compatibility flags and the resulting mappings are as follows:

  Compatibility setting | `H5Dcreate` mapping
  --- | ---
  Global settings
  No compatibility flag | `H5Dcreate2`
  Enable deprecated symbols | `H5Dcreate2`
  Disable deprecated symbols | `H5Dcreate2`
  Emulate Release 1.6 interface`` | `H5Dcreate1`
  Function-level macros
  `H5Dcreate_vers = 2` | `H5Dcreate2`
  `H5Dcreate_vers = 1` | `H5Dcreate1`

  A dataset created with this macro should be closed with `H5Dclose` when the dataset is no longer needed so that resource leaks will not develop.

Fortran90 Interface: h5dcreate_f

      SUBROUTINE h5dcreate_f(loc_id, name, type_id, space_id, dset_id, &
           hdferr, dcpl_id, lcpl_id, dapl_id)

        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: loc_id   ! File or group identifier
        CHARACTER(LEN=*), INTENT(IN) :: name   ! Name of the dataset
        INTEGER(HID_T), INTENT(IN) :: type_id  ! Datatype identifier
        INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
        INTEGER(HID_T), INTENT(OUT) :: dset_id ! Dataset identifier
        INTEGER, INTENT(OUT) :: hdferr         ! Error code
                                               ! 0 on success and -1 on failure
        INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dcpl_id
                                               ! Dataset creation property list
        INTEGER(HID_T), OPTIONAL, INTENT(IN) :: lcpl_id
                                               ! Link creation property list
        INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dapl_id
                                               ! Dataset access property list
      END SUBROUTINE h5dcreate_f

See Also:
  “Using Identifiers”

History:

  Release | C
  1.8.0 | The function `H5Dcreate` renamed to `H5Dcreate1` and deprecated in this release. The macro `H5Dcreate` and the function `H5Dcreate2` introduced in this release.