C Example - vg_sd1.c
/* vg_sd1.c
* this program creates an hdf file, creates a vgroup
* and 1 empty SDS. Add the SDS into the vgroup.
* Close the file.
*/
#include "mfhdf.h"
#include <stdio.h>
main()
{
int ret;
int32 fid, sds_id, sref;
int32 dims[1];
int32 vfid, vg_id;
dims[0] = 10;
/* open file, init Vgroup and SD interfaces */
vfid = Hopen("vg_sd1.hdf", DFACC_CREATE, 0);
ret = Vstart(vfid);
fid = SDstart("vg_sd1.hdf", DFACC_WRITE);
/* create a Vgroup and an SDS */
sds_id = SDcreate(fid, "sd1", DFNT_INT32, 1, dims);
vg_id = Vattach(vfid, -1, "w");
ret = Vsetname(vg_id, "MyVgroup");
ret = Vsetclass(vg_id, "MyClass");
/* insert SDS in Vgroup */
sref = SDidtoref(sds_id);
ret = Vaddtagref(vg_id, DFTAG_NDG, sref);
ret = SDendaccess(sds_id);
ret = SDend(fid);
/* Detach Vgroup, close Vgroup interface and file */
ret = Vdetach(vg_id);
ret = Vend(vfid);
ret = Hclose(vfid);
}