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);

}