我正在尝试解析Ini文件(使用boost)并将一些更改的值写回文件。 一个简单的例子是以下代码(main.cpp):
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/ini_parser.hpp>
#include <iostream>
#include <exception>
int main()
{
try
{
boost::property_tree::ptree pt;
boost::property_tree::ini_parser::read_ini("testini.ini", pt);
int i = pt.get<int>("Section1.Value1");
std::cout << i << std::endl;
pt.put("Section1.Value1", 32);
boost::property_tree::ini_parser::write_ini( "testini.ini", pt );
}
catch (std::exception& e)
{
std::cout << e.what() << std::endl;
}
return 0;
}
有了这个,我正在访问以下ini文件(testini.ini):
[Section1]
; Test variable
Value1=1
这很有效,但是,注释不会保留,新写入的文件看起来像这样
[Section1]
Value1=32
和我想要的是
[Section1]
; Test variable
Value1=32
现在的问题是,有没有办法保留文件中的评论?它一定不需要使用ini-parser!