mexPutVariable (C) - Array from MEX function into specified workspace - MATLAB (original) (raw)

Array from MEX function into specified workspace

C Syntax

#include "mex.h" int mexPutVariable(const char *workspace, const char *varname, const mxArray *pm);

Description

Call mexPutVariable to copy the mxArray, at pointer pm, from your MEX function into the specified workspace. MATLABĀ® assigns varname to the mxArray copied in the workspace.

mexPutVariable makes the array accessible to other entities, such as MATLAB, user-defined functions, or other MEX functions.

If a variable of the same name exists in the specified workspace,mexPutVariable overwrites the previous contents of the variable with the contents of the new mxArray. For example, suppose the MATLAB workspace defines variable Peaches as:

and you call mexPutVariable to copy Peaches into the same workspace:

mexPutVariable("base", "Peaches", pm)

The value passed by mexPutVariable replaces the old value ofPeaches.

Input Arguments

expand all

Scope of the array to copy, specified as const char*. The possible values are:

base Copy mxArray to the base workspace.
caller Copy mxArray to the caller workspace.
global Copy mxArray to the list of global variables.

Name of mxArray in the workspace, specified asconst char*.

Do not use MATLAB function names for variable names. Common variable names that conflict with function names include i, j, mode, char, size, or path. To determine whether a particular name is associated with a MATLAB function, use the which function.

Output Arguments

expand all

Status, returned as 0 on success. Returns1 on failure. A possible cause of failure is thatpm is NULL.

Examples

To open an example, type:

edit([fullfile(matlabroot,"extern","examples","mex","filename")]);

where filename is:

Version History

Introduced before R2006a