以下文本文件a.txt,以一种平面数据的形式描述了树状配置信息。具体数据描述如下。数据以空格分开,第一段描述了数据的类型;第二段代表ID号;第三段为描述信息;对于属性还有一到两个信息,第四段为数据类型:C-字符串,N-数字,E-代表枚举型,枚举型以“/"分隔开。求怎么以结构体、联合体的形式表示出来,然后用文件读取处理呢?谢谢了!根 测试部门
分支 10 产品开发部
叶子 101 人员信息
属性 10101 姓名 C
属性 10102 年龄 N
属性 10103 性别 E 男/女
叶子 102 产品信息
属性 10201 产品 C
分支 11 信息中心
叶子 111 班组
属性 11101 名称 C
属性 11102 人数 N
分支 10 产品开发部
叶子 101 人员信息
属性 10101 姓名 C
属性 10102 年龄 N
属性 10103 性别 E 男/女
叶子 102 产品信息
属性 10201 产品 C
分支 11 信息中心
叶子 111 班组
属性 11101 名称 C
属性 11102 人数 N
这个题目的意思是先用一个大的结构体列出类型,然后文件读取处理,然后用一个树型界面显示出来。
但是我现在是用结构体表示都有点问题:)
读取一行分析一行你这个存储也太了乱了吧,不是推荐的 用xml吧,很简单的 没你想象那么难 ,MFC查一下tinyxml
像这种使用ACCESS数据库也是不错的了~
struct Info{
char szType[5]; //第一段描述了数据的类型 : "分支" 或 "叶子" 或 "属性"
int nID; //第二段代表ID号 : ID
char szDescribe[100];//第三段为描述信息
char DataType; //第四段为数据类型:C-字符串,N-数字,E-代表枚举型
char szContent[255]; //
};当你要写文件的时候如下: Info ifo;
memset( &ifo, 0, sizeof( Info ) );
strcpy( ifo.szType, "分支" );
ifo.nID = 10;
strcpy( ifo.szDescribe, "产品开发部" );填写好结构体的信息直接写进文件,要读文件的时候直接按照固定多少个字节的信息读出来就可以了,从你的要求可以看出最多有五个字段就够了,读的时候有些信息只有前两个字段有效,你就相应读取前两个字段的就可以了,
我觉得如果存储信息很简单,就不超过10条或者很少,随便做一下就可以了,如果你的信息很多,这个方法肯定不行,必须想其它规范、成熟的方法。