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.