mxChar массив в строку стиля C или character ФОРТРАН массив
#include "matrix.h" int mxGetString(const mxArray *pm, char *str, mwSize strlen);
#include "fintrf.h" integer*4 mxGetString(pm, str, strlen) mwPointer pm character*(*) str mwSize strlen
pmУказатель на mxChar массив.
strНачальное местоположение. mxGetString записывает символ данные в str и затем на C завершает строку на NULL символ (в порядке строк C). str может указывать на динамическую или статическую память.
strlenРазмер в байтах целевого буфера, на который указывает str. Как правило, на C вы задаете strlen на 1 плюс количество элементов в mxArray на что pm точки. Чтобы получить количество элементов, используйте mxGetM или mxGetN.
Не используйте с многобайтовыми закодированными символами.
0 при успехе или если strlen == 0, и 1 при отказе. Возможные причины отказа включают:
mxArray не является mxChar массив.
strlen недостаточно велик, чтобы хранить весь mxArray. Если это так, то функция возвращается 1 и обрезает строку.
Звонить mxGetString для копирования символьных данных mxArray в строку C-стиля на C или character массив на языке Фортран. Скопированные данные начинаются с str и содержит не более strlen-1 символы на C (не более strlen символы на языке Фортран). На C строка в стиле C всегда заканчивается NULL символ.
Если массив содержит несколько строк, функция копирует их в один массив, по одному столбцу за раз.
Используйте эту функцию только с символами, представленными в однобайтовых схемах кодирования. Для символов, представленных в многобайтовых схемах кодирования, используйте функцию C mxArrayToString. Приложения ФОРТРАН должны выделить достаточное пространство для возврата строки, чтобы избежать возможного усечения.
См. эти примеры в :matlabroot/ extern/examples/mx
См. эти примеры в :matlabroot/ extern/examples/mex
См. эти примеры в :matlabroot/ extern/examples/refbook
mxArrayToString, mxCreateCharArray, mxCreateCharMatrixFromStrings, mxCreateString, mxGetChars