2024年6月6日发(作者:)
const char *fieldnames[2] = {"pos","name"};
const mwIndex index = 0;
mxArray pm(m, n, nfields, fieldnames);
mxArray mpos = Staruct2mwArray(&(pStaruct->pos));
pm(fieldnames[0], 1, 1) = mpos;
mxArray mname(pStaruct->name);
pm(fieldnames[1], 1, 1) = mname;
return pm;
}
(3)mxArray转换成结构体:
struct Coordinate *mwArray2Staruct(mwArray pm)
{
// 代码仅处理 name 字段 pos 字段是三个简单类型省略
struct Coordinate *pStaruct = new struct Coordinate;
const int nfields = 2;
const char *fieldnames[2] = {"pos","name"};
mwArray mwStr = (fieldnames[1], 1, 1);
char *str = strdup(ng());
memcpy(pStaruct->name,str,sizeof(char)*ARRAYSIZE);
return pStaruct;
}
(4)mwArray转换成结构体:
struct Coordinate *mxArray2Staruct(mxArray *pm)
{
// 代码仅处理 name 字段 pos 字段是三个简单类型省略
struct Coordinate *pStaruct = new struct Coordinate;
mxArray * mxname = mxGetFieldByNumber(pm, 1, 1)
mxArray * str = mxGetPr(mxname);
memcpy(pStaruct->name,str,sizeof(char)*ARRAYSIZE);
return pStaruct;
}
发布评论