
//结构体ScheduleFile[StructLayout(LayoutKind.Sequential,Pack=1)]structScheduleFile{publicInt32schedule_id;publicbyte[]basic_schedule_name=newbyte[BASIC_SCHEDULE_NAME_LEN]...//结构体ScheduleFile
[StructLayout (LayoutKind.Sequential,Pack =1)]
struct ScheduleFile
{
public Int32 schedule_id;
public byte[] basic_schedule_name=new byte [BASIC_SCHEDULE_NAME_LEN];
public Int32 table_count;//服务个数(表个数)
public Table []table_list;//服务列表

}
//结构体Table
[StructLayout(LayoutKind.Sequential计算结构体大小,Pack =1)]
struct Table
{
public Int32 table_id;
public Int32 trip_cnt;
public Trip []trip_list;

}
//结构体Trip
[StructLayout(LayoutKind.Sequential计算结构体大小,Pack =1)]
struct Trip//单程
{
public byte[] local_sub_id=new byte [LOCAL_SUB_ID_LEN];
public byte[] global_sub_id=new byte [GLOBAL_SUB_ID_LEN];
public ushort trip_flag;

public ushort route_id;
public ushort loop_id;
public byte[] destination_code=new byte [DESTINATION_CODE_LEN];
public ushort record_cnt;
public Record []record_list;
}
//结构体Record
[StructLayout(LayoutKind.Sequential,Pack =1)]

struct Record//记录
{
public ushort station_id;
public ushort platform_id;
public DateTime arrival_time;
public DateTime departure_time;
public Int32 performance_level;
public ushort record_flag;
}
如何计算这种结构体的大小?各列表的个数通过读文件获取
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-125632-1.html
给予为祖国统一的力量全面支持
一会儿说伊拉克“可能”有杀伤性武器要入侵伊拉克
狭路相逢勇者胜