mxGetFieldNameByNumber (C and Fortran)

Указатель на имя поля из массива структур, заданный номер поля

Синтаксис C

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

Синтаксис языка ФОРТРАН

#include "fintrf.h"
character*(*) mxGetFieldNameByNumber(pm, fieldnumber)
mwPointer pm
integer*4 fieldnumber

Аргументы

pm

Указатель на структуру mxArray

fieldnumber

Положение требуемого поля. Например, на C, чтобы получить имя первого поля, установите fieldnumber к 0; чтобы получить имя второго поля, установите fieldnumber к 1; и так далее. В Фортране, чтобы получить имя первого поля, установите fieldnumber на 1; чтобы получить имя второго поля, установите fieldnumber на 2; и так далее.

Возвраты

Указатель на nимя поля, при успехе. Возвращает NULL в C (0 на ФОРТРАН) при отказе. Общие причины отказа включают

  • Установка указателя на массив pm который не указывает на структуру mxArray. Звонить mxIsStruct определить, pm ли указывает на структуру mxArray.

  • Задание значения fieldnumber вне границ количества полей в структуре mxArray. На C, fieldnumber 0 представляет первое поле, и fieldnumber N-1 представляет последнее поле, где N количество полей в структуре mxArray. На языке Фортран, fieldnumber 1 представляет первое поле, и fieldnumber N представляет последнее поле.

Описание

Звонить mxGetFieldNameByNumber для получения имени поля в заданной структуре mxArray. Типичное использование mxGetFieldNameByNumber - вызвать его внутри цикла, чтобы получить имена всех полей в заданном mxArray.

Рассмотрим MATLAB® структура, инициализированная в:

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

На C номер поля 0 представляет поле name; номер поля 1 представляет billing поля; номер поля 2 представляет test поля. Номер поля, отличный от 0, 1, или 2 причины mxGetFieldNameByNumber для возврата NULL.

На языке Фортран номер поля 1 представляет поле name; номер поля 2 представляет billing поля; номер поля 3 представляет test поля. Номер поля, отличный от 1, 2, или 3 причины mxGetFieldNameByNumber для возврата 0.

Примеры

См. эти примеры в matlabroot/ extern/examples/refbook:

См. эти примеры в matlabroot/ extern/examples/mx:

См. эти примеры в matlabroot/ extern/examples/mex:

Представлено до R2006a