Mat_VarCreateStruct man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

MAT_VARCREATESTRUCT(3)	 BSD Library Functions Manual	MAT_VARCREATESTRUCT(3)

NAME
     Mat_VarCreateStruct — Creates a structure variable.

SYNOPSIS
     #include <matio.h>

     matvar_t *
     Mat_VarCreateStruct(const char *name, int rank, size_t *dims,
	 const char **fields, unsigned nfields);

DESCRIPTION
     The Mat_VarCreateStruct() function creates a structure variable named
     name that can be written to a MAT file.

RETURN VALUES
     If the structure variable was successfully created, a pointer to the
     variable is returned. Otherwise NULL is returned. The structure variable
     pointer should be free'd when no longer needed using Mat_VarFree(3) after
     calling the function if necessary.

EXAMPLES
     This example program opens a MAT file named by the first argument to the
     program, and writes a structure named a to the file.

     #include "matio.h"

     int
     main(int argc,char **argv)
     {
	 mat_t	  *matfp;
	 matvar_t *matvar;
	 matvar_t *field;
	 const char *fields[2] = {"field1","field2"};
	 double	      data1 = 1, data2 = 2;
	 size_t	      dims[2] = {1, 1};

	 matfp = Mat_Open(argv[1],MAT_ACC_RDWR);
	 if ( NULL == matfp ) {
	     fprintf(stderr,"Error opening MAT file %s0,argv[1]);
	     return EXIT_FAILURE;
	 }

	 dims[0] = 1; dims[1] = 1;
	 matvar = Mat_VarCreateStruct("a",2,dims,fields,2);
	 if ( NULL == matvar ) {
	     Mat_Close(matfp);
	     return EXIT_FAILURE;
	 }

	 field = Mat_VarCreate(NULL,MAT_C_DOUBLE,MAT_T_DOUBLE,2,dims,&data1,
		     MAT_F_DONT_COPY_DATA);
	 Mat_VarSetStructFieldByName(matvar, "field1", 0, field);

	 field = Mat_VarCreate(NULL,MAT_C_DOUBLE,MAT_T_DOUBLE,2,dims,&data2,
		     MAT_F_DONT_COPY_DATA);
	 Mat_VarSetStructFieldByName(matvar, "field2", 0, field);

	 Mat_VarWrite(matfp,matvar,MAT_COMPRESSION_NONE);
	 Mat_VarFree(matvar);

	 Mat_Close(matfp);
	 return EXIT_SUCCESS;
     }

SEE ALSO
     Mat_VarCreate(3), Mat_VarSetStructFieldByName(3)

BSD				March 18, 2012				   BSD
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net