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