在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 }