mxSetInt32s (C)

Установите действительные элементы данных в массиве mxINT32_CLASS

Синтаксис C

#include "matrix.h"
int mxSetInt32s(mxArray *pa, mxInt32 *dt);

Описание

Используйте mxSetInt32s, чтобы установить данные mxInt32 в заданном массиве.

Весь mxCreate* функции выделяет пространство "кучи", чтобы содержать данные. Поэтому вы обычно не используете эту функцию, чтобы инициализировать элементы массива. Скорее вызовите функцию, чтобы заменить существующие значения на новые значения.

Эта функция не освобождает память выделенный для существующих данных. Чтобы освободить существующую память, вызовите mxFree на указателе, возвращенном mxGetInt32s.

Входные параметры

развернуть все

Указатель на массив mxINT32_CLASS.

Указатель на первый элемент mxInt32 массива данных. dt должен быть выделен функциями mxCalloc или mxMalloc.

Выходные аргументы

развернуть все

Функциональное состояние, возвращенное как int. Если успешный, то функция возвращает 1.

Если pa является NULL, то функция возвращает 0.

Функция неудачна, когда mxArray не является неразделенным массивом mxINT32_CLASS, или если данные не выделяются с mxCalloc. Если функция неудачна, то:

  • Файл MEX — Функция отключает файл MEX и возвращает управление в подсказку MATLAB®.

  • Автономный (нефайл MEX) приложение — Функция возвращает 0.

Примеры

Обратитесь к примеру arrayFillSetPr.c в папке matlabroot/extern/examples/refbook, которая копирует существующие данные в mxArray. Данные в примере заданы как mxDouble. Изменить этот пример для данных int32:

  • Объявите переменные данных как mxInt32

  • Вызовите mxCreateNumericMatrix с числовым типом mxINT32_CLASS

  • Замените mxSetDoubles на mxSetInt32s, чтобы поместить массив C в mxArray

Версия API

Эта функция доступна в чередованном комплексном API. Чтобы создать myMexFile.c с помощью этой функции, введите:

mex -R2018a myMexFile.c

Смотрите также

| |

Введенный в R2018a