📄 assgn.c
字号:
#include "mex.h"
#include "utils.h"
void mexFunction(int nOut, mxArray *pOut[],
int nIn, const mxArray *pIn[])
{
mxArray *address, *data, *s;
char *field_name;
int len, field_number;
pOut[0] = mxDuplicateArray(pIn[0]);
address = GetPointerData(pOut[0]);
data = GetPointerData(address);
if (!data)
{
data = mxCreateStructMatrix(1, 1, 0, NULL);
mexMakeArrayPersistent(data);
SetPointerData(address, data);
}
field_name = AllocAndGetString(pIn[1]);
field_number = mxGetFieldNumber(data, field_name);
if (field_number != -1)
{
s = mxGetFieldByNumber(data, 0, field_number);
mxDestroyArray(s);
}
else
{
mxAddField(data, field_name);
field_number = mxGetFieldNumber(data, field_name);
}
mxSetFieldByNumber(data, 0, field_number, mxDuplicateArray(pIn[2]));
mxFree(field_name);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -