mxSetInt64s (C)

Установите элементы данных в массиве mxINT64_CLASS

Синтаксис C

#include "matrix.h"
int mxSetInt64s(mxArray *pa, mxInt64 *dt);

Описание

Используйте mxSetInt64s, чтобы установить данные mxInt64 заданного mxArray.

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

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

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

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

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

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

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

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

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

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

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

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

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

Примеры

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

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

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

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

Версия API

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

mex -R2018a myMexFile.c

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

| |

Введенный в R2018a