标题:如何设计读取config.ini文件代码
只看楼主
flydream0
Rank: 1
等 级:新手上路
帖 子:20
专家分:7
注 册:2008-10-10
 问题点数:0 回复次数:4 
如何设计读取config.ini文件代码
需求:
    工程中经常需要用到一些全局参数,相信大家看到很多软件中的安装目录下都有个xxx.ini文件吧?这个xxx.ini文件就是用来存放一些全局参数的,现在假设一个工程中需要将这个xxx.ini文件中的参数导入到工程中全局结构体变量中,
现在设计一个这样的结构体用来存放这些全局参数:
/*
  global parameter defined in ini file
*/
typedef struct
{
    union
    {
        struct
        {//include all of the bit define in the ini file
            unsigned int moduleEN:1;
        }bitdata;
        unsigned int intdata;
    }_INI_UNION;
   char *chrspathptr;
   char *chrdpathptr;
}_GLOBAL_PARA_ini;
//define a global variant
_GLOBAL_PARA_ini GLOBAL_PARA_INI;
注:这个结构体只是暂时的结构体,因为考虑到今后软件还会更新,可能还会需要更多的全局参数,因此以后可能还会在这个结构体中定义更多的全局参数来满足软件需要,设计时务必考虑这个需求,要做到每新增一个全局参数时需要修改的代码尽量少,不然就不符合要求。

假设xxx.ini文件的数据格式如下:
[moduleEN]1  //注释文字
[parameter2]23
[chrspathptr]c:\test\test1.xml
[chrdpathptr]c:\test\test2.xml
[parameter4]3B
...
...

注:ini文件中的参数类型可能是是二进制数,十进制数,字符串,十六进制数,或字符.


该如何设计?(用C)

[[it] 本帖最后由 flydream0 于 2008-10-13 02:30 编辑 [/it]]
搜索更多相关主题的帖子: config ini 文件 代码 设计 
2008-10-13 02:17
flydream0
Rank: 1
等 级:新手上路
帖 子:20
专家分:7
注 册:2008-10-10
得分:0 
没人回复自己顶一下.
2008-10-17 01:23
anthony634
Rank: 6Rank: 6
来 自:西南交大
等 级:贵宾
威 望:24
帖 子:653
专家分:10
注 册:2006-6-8
得分:0 
学习数据结构啊? 可以参照系统的API接口来模拟一下, GetPrivateProfile*** 那套API 如GetPrivateProfileString这些。
2008-10-17 13:27
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
得分:0 
还有,那结构体设计得实在是差,可以参考windows.h里面的结构体设置。

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-10-17 17:00
flydream0
Rank: 1
等 级:新手上路
帖 子:20
专家分:7
注 册:2008-10-10
得分:0 
我想说几句我对软件这个行业的理解:
我的理解是:
代码规范的重要性永远排第一.
而事实上我在这里看不到这种现象,在这里大家都一味的追求代码的漂亮,而忽略了对代码的可维护性,养成好习惯定会让你受益匪浅(当你走过一段日子,你会发现事实上这个观点没错)。我看过华为内部文件对代码规范要求,你们知道吗,我有两个同事,从华为跳到我们公司来的,他们告诉我,他们刚进入华为的前两年时间里,平均每年写的代码不起过100行,信不信由你.
第二:稳定性。
     如果没有稳定性,代码再漂亮也有个屁用.能够经受各种变态情况的打击永远是软件质量坚强的后盾.
大家不要看了别人写的代码一大堆"啰嗦",就很自信的认为自已写的一定比他漂亮!不信的话,请你自已动手试
试,看谁的代码BUG多.
C语言的精髓是指针,能用灵活运用指针设计代码固然是好事,但千万不要忘了,C语言中也是一门不安全的语言,最容易出现问题的也是指针.

第三:漂亮。也就是大家最爱追求的.
漂亮固然是好,但普普通通步步为营更让人信赖。这是中国人普通的一个病态心理,以为美丽的东西就是更好的东西。殊不知老老实实安安分分地写普普通通的代码更实在.印度是个软件强国,如果有机会看他们写的代码,你会发现他们写的代码"也不过如此".很可笑吗?

第四:永远心虚地对待别人写的代码。
第一,给别人机会学习自已更好的方法。第二:给自已机会看到别人更好的方法。IT行业永远都是团队合作的行业。在公司是,在网上也是。

第五:千万别心浮气躁。

第六:这个主题的代码我早已经完成,然后发到这里,本来想看看大家有什么新的设计方法,或许能从中学到什么.事实上我只另用了一个本地结构体变量数组,且自定义了他的一个成员变量(U8 类型)的高四位用来区别INI文件中参数的类型,完全没有像楼上的想像的那么难。其他的不用我多说了吧。。。。。。。

第七:不用扔鸡蛋了,以后我将不再在这个BBS里发言。一个字,闪!

[[it] 本帖最后由 flydream0 于 2008-10-19 06:13 编辑 [/it]]
2008-10-19 06:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-237880-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017720 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved