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