exponenta event banner

mxGetString (C и Fortran)

mxChar массив в строку стиля C или Fortran character множество

Синтаксис C

#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:

Представлен до R2006a