一个跨平台c++封装的.ini文件读写类

时间:2021-06-07 04:24:32

这些天一直在进行跨平台基础函数和类的编写,准备编写跨平台服务器版本的VLink,首先碰到的一个问题就是,Linux缺少直接读写.ini的系统或者C库函数,用google检索了一下,有人用C实现了一个INI文件的读写函数,但是分析他的代码,发现没有优化,也就是象windows api GetPrivatexxxxx系列函数一样,需要每次分析,效率不高,不太适合我;然后又检索到不少使用MFC写的INI读写类封装,但是不支持LINUX/UNIX,没办法,只好花了一天时间编写了自己的跨平台 .ini文件读写类,顺带修正了WINDOWS下INI文件读写中,一个section不可以同时支持整数和字符串的问题,此外还支持注释功能,没什么,也许会有其他朋友也碰到类似的问题,因此给大家一个参考吧,

这个类的实现原理是完全读入.ini文件,并进行分析,然后将分解并计算HASH后的各值保存在内存中,在每一次后续调用时,只需要直接从内存中比较类型和HASH,就可以快速定位,同时进行了容错处理。

代码是免费的,你可以修改代码重新发布,也可以直接用在任何类型的软件中,没有限制,唯一的请求是保留原始作者的信息,谢谢。

 

这个C++类已经在 visual c++ 和 dev c++ (也就是gnu c++ for windows) 下调试通过,因为目前还没有直接进入LINUX系统测试,因此LINUX下您自己去进行调整吧

 

 

有兴趣的朋友可以在这个地址下载

http://www.snowware.com/cn/inidemo.zip

 

使用方法以及源代码都已经提供在这个DEMO程序中了,用 vs2005直接打开就可以