MAT_VARREADNEXT(3) Library Functions Manual MAT_VARREADNEXT(3)

Mat_VarReadNextReads the information and data for the next variable in a MATLAB MAT file.

#include <matio.h>

matvar_t *
Mat_VarReadNext(mat_t *matfp);

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

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.

This example program opens a MAT file named by the first argument to the program, and uses Mat_VarReadNext() to read each variable in the file. For each variable read, the Mat_VarPrint(3) function is used to display the information and data of the variable.

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

int
main(int argc, char **argv)
{
    mat_t    *matfp;
    matvar_t *matvar;

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

    while ( NULL != (matvar = Mat_VarReadNext(matfp)) ) {
        Mat_VarPrint(matvar, 1);
        Mat_VarFree(matvar);
    }

    Mat_Close(matfp);
    return EXIT_SUCCESS;
}

Mat_VarRead(3), Mat_VarReadNextInfo(3), Mat_VarPrint(3)

September 12, 2019 Linux 6.11.5-arch1-1