mxGetFieldNameByNumber (C и Фортран)

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

Синтаксис 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. На Фортране 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.

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

Была ли эта тема полезной?