mxGetString (C and Fortran)

mxChar массив к строке C-стиля или Фортрану 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 символ (способом струн до). 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:

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