Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

mxGetFieldNameByNumber (C and Fortran)

Pointer to field name from structure array, given field number

C Syntax

#include "matrix.h"
const char *mxGetFieldNameByNumber(const mxArray *pm, 
            int fieldnumber);

Fortran Syntax

character*(*) mxGetFieldNameByNumber(pm, fieldnumber)
mwPointer pm
integer*4 fieldnumber

Arguments

pm

Pointer to a structure mxArray

fieldnumber

Position of the desired field. For instance, in C, to get the name of the first field, set fieldnumber to 0; to get the name of the second field, set fieldnumber to 1; and so on. In Fortran, to get the name of the first field, set fieldnumber to 1; to get the name of the second field, set fieldnumber to 2; and so on.

Returns

Pointer to the nth field name, on success. Returns NULL in C (0 in Fortran) on failure. Common causes of failure include

  • Specifying an array pointer pm that does not point to a structure mxArray. Call mxIsStruct to determine whether pm points to a structure mxArray.

  • Specifying a value of fieldnumber outside the bounds of the number of fields in the structure mxArray. In C, fieldnumber 0 represents the first field, and fieldnumber N-1 represents the last field, where N is the number of fields in the structure mxArray. In Fortran, fieldnumber 1 represents the first field, and fieldnumber N represents the last field.

Description

Call mxGetFieldNameByNumber to get the name of a field in the given structure mxArray. A typical use of mxGetFieldNameByNumber is to call it inside a loop to get the names of all the fields in a given mxArray.

Consider a MATLAB® structure initialized to:

patient.name = 'John Doe';
patient.billing = 127.00;
patient.test = [79 75 73; 180 178 177.5; 220 210 205];

In C, the field number 0 represents the field name; field number 1 represents field billing; field number 2 represents field test. A field number other than 0, 1, or 2 causes mxGetFieldNameByNumber to return NULL.

In Fortran, the field number 1 represents the field name; field number 2 represents field billing; field number 3 represents field test. A field number other than 1, 2, or 3 causes mxGetFieldNameByNumber to return 0.

Examples

See the following examples in matlabroot/extern/examples/refbook.

See the following examples in matlabroot/extern/examples/mx.

See the following examples in matlabroot/extern/examples/mex.

Introduced before R2006a

Was this topic helpful?