Mat_VarReadNextInfo 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_VARREADNEXTINFO(3)	 BSD Library Functions Manual	MAT_VARREADNEXTINFO(3)

NAME
     Mat_VarReadNextInfo — Reads the information for the next variable in a
     MATLAB MAT file.

SYNOPSIS
     #include <matio.h>

     matvar_t *
     Mat_VarReadNextInfo(mat_t *mat);

DESCRIPTION
     The Mat_VarReadNextInfo() function reads the information for the next
     variable stored in the open MAT file.

RETURN VALUES
     If there is another variable in the MAT file and is read successfully, a
     pointer to the MATLAB variable structure is returned. If there are no
     more variables, or there was an error reading the variable, NULL is
     returned.

EXAMPLES
     This example program opens a MAT file named by the first argument to the
     program, and uses Mat_VarReadNextInfo() to read the information about
     each variable in the file. For each variable read,the name, size, and
     class are printed in a format similar to the MATLAB whos command.

     #include <stdlib.h>
     #include <stdio.h>
     #include "matio.h"

     static char *mxclass[16] = {"cell", "struct", "object","char","sparse",
				 "double","single","int8", "uint8","int16","uint16",
				 "int32","uint32","int64","uint64","function"
				};

     int
     main(int argc,char **argv)
     {
	 mat_t	  *matfp;
	 matvar_t *matvar;
	 size_t	   nbytes;
	 int	   i;
	 char size[32] = {' ',};

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

	 printf("%-20s	     %-10s     %-10s	 %-18s0,"Name","Size","Bytes",
		"Class");
	 while ( NULL != (matvar = Mat_VarReadNextInfo(matfp)) ) {
	     printf("%-20s", matvar->name);
	     if ( matvar->rank > 0 ) {
		 int cnt = 0;
		 printf("%8d", matvar->dims[0]);
		 for ( i = 1; i < matvar->rank; i++ ) {
		     if ( ceil(log10(matvar->dims[i]))+1 < 32 )
			 cnt += sprintf(size+cnt,"x%d", matvar->dims[i]);
		 }
		 printf("%-10s",size);
	     } else {
		 printf("		     ");
	     }
	     printf("  %-18s0,mxclass[matvar->class_type-1]);

	     Mat_VarFree(matvar);
	 }

	 Mat_Close(matfp);
	 return EXIT_SUCCESS;
     }

SEE ALSO
     Mat_VarRead(3), Mat_VarReadNextInfo(3),

BSD				April 21, 2011				   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