【发布时间】:2019-07-01 13:33:39
【问题描述】:
我有一个 HDF5 文件,其中包含(以及其他元素)一组复合数据,例如:
DATASET "AgentDataSet" {
DATATYPE H5T_COMPOUND {
H5T_STD_I32LE "LifeState";
H5T_STD_I32LE "CellIdx";
H5T_STD_I32LE "CellID";
H5T_STD_I64LE "AgentID";
H5T_IEEE_F32LE "BirthTime";
H5T_STD_U8LE "Gender";
H5T_IEEE_F32LE "Age";
H5T_IEEE_F32LE "LastBirth";
}
DATASPACE SIMPLE { ( 2252984 ) / ( 2252984 ) }
}
复合数据的成员可能因文件而异,但我知道 LifeState、CellIdx、CellID 和 AgentID 始终包含在复合数据类型中(即使在相同的位置)。
我的应用程序不知道复合数据的精确结构,因此无法定义适当的struct 以在H5Tread() 中使用。
有没有办法将字段AgentID和CellID从复合数据数组中提取到一个数组中
struct {
int iAgendID;
int iCellID;
}
即忽略其余字段?
谢谢
【问题讨论】: