2D массив mxChar
инициализируется к заданному значению
#include "matrix.h" mxArray *mxCreateCharMatrixFromStrings(mwSize m, const char **str);
#include "fintrf.h" mwPointer mxCreateCharMatrixFromStrings(m, str) mwSize m character*(*) str(m)
m
Количество строк в mxArray
. Значение, которое вы задаете для m
, является количеством строк в str
.
str
В C, массиве строк, содержащих, по крайней мере, строки m
. На Фортране, массиве character*n
размера m
, где каждый элемент массива является байтами n
.
Указатель на созданный mxArray
, в случае успеха. Если неудачный в автономном (нефайл MEX) приложение, возвращает NULL
в C (0
на Фортране). Если неудачный в файле MEX, файл MEX отключает и возвращает управление в подсказку MATLAB®. Функция неудачна, когда существует недостаточно свободного пространства "кучи", чтобы создать mxArray
. Другая возможная причина для отказа - то, что str
содержит меньше, чем строки m
.
Используйте mxCreateCharMatrixFromStrings
, чтобы создать двумерный mxArray
, где каждая строка инициализируется к строке от str
. В C созданный mxArray
имеет размерности m
-by-max
, где max
является длиной самой длинной строки в str
. На Фортране созданный mxArray
имеет размерности m
-by-n
, где n
является количеством символов в str(i)
.
mxArray
представляет свои элементы данных как mxChar
, а не как C char
.