Указатель на имя поля из массива структур, учитывая полевой номер
#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имя поля th, на успехе. Возвращает NULL в C (0 на Фортране) на отказе. Частые причины отказа включают
Определение указателя массивов pm это не указывает на структуру mxArray. Вызовите mxIsStruct определить ли pm точки к структуре mxArray.
Определение значения fieldnumber вне границ количества полей в структуре mxArray. В C, fieldnumber 0 представляет первое поле и fieldnumber
N-1 представляет последнее поле, где N количество полей в структуре mxArray. На Фортране, fieldnumber1
представляет первое поле и 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