mxGetFieldNameByNumber (C and Fortran)

Указатель на имя поля из массива структур, учитывая полевой номер

Синтаксис C

#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:

Представлено до R2006a