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
символ (способом струн до). str
может указать или на динамическую память или на статическое ЗУ.
strlen
На размер в байтах целевого буфера указывает str
. Как правило, в C, вы устанавливаете strlen
к 1
плюс число элементов в mxArray
к которому pm
'points'. Чтобы получить число элементов, использовать mxGetM
или mxGetN
.
Не используйте с Многобайтовыми Закодированными Символами.
0 на успехе или если
strlen
== 0 , и
1
onFailure. Возможные причины для отказа включают:
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