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