如何用C++解析配置文件

   在windows下开发,很多配置文件是*.ini这种格式,使用GetPrivateProfileString之类的系统API就可以解决问题了。

   在linux平台下,很多文件是*.conf文件,好像没有直接的API可以操作[key,value]字段,一般我使用boost 的ptree.hpp          ini_parser.hpp来解决问题。

    

 1 config.ini文件内部格式一般如下:
 2 [section]
 3 key=xxx
 4 
 5 代码:
 6 #include <iostream>
 7 #include <boost/property_tree/ptree.hpp>
 8 #include <boost/property_tree/ini_parser.hpp>
 9 
10 int main()
11 {
12     boost::property_tree::ptree pt;
13     boost::property_tree::ini_parser::read_ini("config.ini", pt);
14 
15    std::cout << pt.get<std::string>("section.key") << std::endl;//显示section.key
16    pt.put<std::string>("section.key","value");//section.key修改成value
17    std::cout << pt.get<std::string>("section.key") << std::endl;//显示修改后section.key
18 
19    boost::property_tree::ini_parser::write_ini("config.ini",pt);//修改后的内容保存到文件 
20    return 0;
21 }

 

 

posted @ 2014-01-09 11:52  fatpiglazy  阅读(1389)  评论(0编辑  收藏  举报