我有一个来自 Matlab 的结构传递给 mex。它传递正确,我使用 mxGetClassName(mxArray_pointer_carrying_struct) 验证它,它返回struct作为类类型。该结构有 15 个字段 n 对应的属性,所有 30 个字符串(15 个属性名称,15 个属性值)。
我可以使用 mxGetFieldNameByNumber(mxArray_pointer_carrying_struct, index); 访问属性名称
如何访问属性值?
我必须在上面做的代码如下所示:
extract_settings(const mxArray *p)
{
mwIndex j = 1;
const char *property;
mexPrintf("\nInput Arg %i is of type:%s\n",j,mxGetClassName(p));
for(int i = 0;i<=14;i++)
{
property = mxGetFieldNameByNumber(p, i); %gets property names
mexPrintf("%s-- \n",property); %Displays 15 property names
}
}
我的结构如下所示:
{
TRIGGER_POLARITY : LEVEL_LOW
EDGE : EDGE_RISING
.
.
. (15 elements as of now)
}