mxChar массив в строку стиля C или Fortran 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. Приложения Fortran должны выделять достаточное пространство для возвращаемой строки, чтобы избежать возможного усечения.
См. эти примеры в разделе :matlabroot/extern/examples/mx
См. эти примеры в разделе :matlabroot/extern/examples/mex
См. эти примеры в разделе :matlabroot/extern/examples/refbook
mxArrayToString, mxCreateCharArray, mxCreateCharMatrixFromStrings, mxCreateString, mxGetChars