您的位置:首页 > 其它

一个ini文件读写类的设计和实现

2009-05-15 17:31 218 查看
前言:

决定自己写一个ini读写类,希望对大家能有所帮助。

如有朋友发现问题,请务必致信bicheng.gui@gmail.com

1. 什么是ini文件?

ni 文件是文本文件,中间的数据格式一般为:
[Section1 Name]
KeyName1=value1
KeyName2=value2
...
[Section2 Name]
KeyName1=value1
KeyName2=value2
ini 文件可以分为很多个 Section,每个 Section 的名称用 [] 括起。在一个 Section 中,可以有很多的 Key,每一个 Key可以有一个value并占用一行,格式是 Key = value. 每一行以'#'和';'开头的为注释。

下面是一个实例文件:

[Database]
DBMS=O84 ORACLE
ServerName = 192.168.1.1
Database = db
DatabasePassword = 123456
LogPassword = 123456

[xDatabase]
DBMS = oracle
ServerName=mssql-srv-02

2. 设计思路

ini文件的操作一般为读一个key和更新key的值。删除和增加key的情况比较少见。一般不需要这两个操作。

读写的实现是这样的,先把文件内容读到一个内存里。再在内存里进行读写。出于移植性的考虑,代码将严格遵守标准的规定。因为读文件和写文件需要用到的数据结构不同,因此设计两个类,一个用来读,一个用来写。

读类的实现: 用一个嵌套的map<string,map<string,string>>数据结构来实现。

写类的实现:map和set会默认排序,会打乱section和key的顺序,因此并不适合用来写文件。为追求效率,可以直接对文件进行操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: