Attribute Examples: 
H5Acreate2 example: Show how to create an attribute for a dataset and a group
----------------
{
    hid_t file;
    hid_t group;
    hid_t dataset;
    hid_t attr;
    hid_t dataspace;
    int32 attr_data;
    int rank;
    size_t dimsf[2];
    /* Open the file */
    file=H5Fopen("example.h5", H5F_ACC_RDWR, H5P_DEFAULT);
    /* Describe the size of the array and create the data space */
    rank=2;
    dimsf[0] = H5S_UNLIMITED;
    dimsf[1] = H5S_UNLIMITED;
    dataspace = H5Screate_simple(rank, dimsf, NULL); 
    /* Create a dataset */
    dataset = H5Dcreate2(file, "Dataset1", H5T_UINT8, dataspace, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
    <Write data to first dataset>
    /* Create an attribute for the dataset */
    attr = H5Acreate2(dataset, "Attr1", H5T_INT32, H5S_SCALAR, H5P_DEFAULT, H5P_DEFAULT);
    /* Write attribute information */
    H5Awrite(attr, H5T_INT32, &attr_data);
    /* Close attribute */
    H5Aclose(attr);
    /* Close dataset */
    H5Dclose(dataset);
    /* Create a group */
    group = H5Gcreate2(file, "/Group One", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
    /* Create an attribute for the dataset */
    attr = H5Acreate2(group, "Attr1", H5T_INT32, H5S_SCALAR, H5P_DEFAULT, H5P_DEFAULT);
    /* Write attribute information */
    H5Awrite(attr, H5T_INT32, &attr_data);
    /* Close attribute */
    H5Aclose(attr);