mxGetFieldNumber (C和Fortran)
字段数量从数组结构,给定的字段名
C语法
#包括“矩阵。h " int mxGetFieldNumber (const mxArray *点,const char *字段名);
Fortran语言的语法
# include“fintrf。h”整数* 4 mxGetFieldNumber(点,字段名)mwPointer点字符* (*)fieldname
参数
-
点
-
指向结构的指针
mxArray
-
字段名
-
名称字段的结构
mxArray
返回
字段指定的数量字段名
在成功。在C语言中,第一个字段的字段数0
,第二个字段有一个字段的数量1
,等等。在Fortran,第一个字段有一个字段的数量1
,第二个字段有一个字段的数量2
,等等。返回1
在C (0
在Fortran)失败。常见的原因包括失败
指定数组指针
点
这并不指向一个结构mxArray
。调用mxIsStruct
以确定是否点
指向一个结构mxArray
。指定
字段名
一个不存在的领域。
描述
如果你知道一个字段的名称,但不知道它的字段数,电话mxGetFieldNumber
。相反,如果你知道数量但不知道它的字段名,电话mxGetFieldNameByNumber
。
例如,考虑一个MATLAB®结构初始化:
patient.name =“John Doe”;病人。计费= 127.00; patient.test = [79 75 73; 180 178 177.5; 220 210 205];
在C语言中,的名字
有一个字段的数量0
;这个领域计费
有一个字段的数量1
;和领域测试
有一个字段的数量2
。如果你叫mxGetFieldNumber
并指定一个字段名以外的任何东西的名字
,计费
,或测试
,mxGetFieldNumber
返回1
。
如果你有一个1
——- - - - - -1
结构,然后调用:
mxGetField (pa、索引“field_name”);
相当于调用:
field_num = mxGetFieldNumber (pa,“field_name”);mxGetFieldByNumber (pa、索引field_num);
在哪里指数
是0
。
在Fortran,字段的名字
有一个字段的数量1
;这个领域计费
有一个字段的数量2
;和领域测试
有一个字段的数量3
。如果你叫mxGetFieldNumber
并指定一个字段名以外的任何东西的名字
,计费
,或测试
,mxGetFieldNumber
返回0
。
如果你有一个1
——- - - - - -1
结构,然后调用:
mxGetField(点、索引的字段名);
相当于调用:
fieldnum = mxGetFieldNumber(点,“字段名”);mxGetFieldByNumber (pm、索引fieldnum);
在哪里指数
是1
。
另请参阅
mxGetField
,mxGetFieldByNumber
,mxGetFieldNameByNumber
,mxGetNumberOfFields
,mxIsStruct
,mxSetField
,mxSetFieldByNumber
版本历史
之前介绍过的R2006a