Указатель на имя поля из массива структуры, указанный номер поля
#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; и так далее. В Fortran, чтобы получить имя первого поля, установите 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.
В Fortran номер поля 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