Указатель на имя поля из массива структур, заданный номер поля
#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
mxGetField, mxGetFieldByNumber, mxGetFieldNumber, mxGetNumberOfFields, mxIsStruct, mxSetField, mxSetFieldByNumber