写入ini文件值而不用boost覆盖整个ini

时间:2015-03-31 11:56:05

标签: c++ boost

我有编写ini文件的一部分的函数:

boolean saveSSVar()
{
    using boost::property_tree::ptree;


    ptree pt;
    pt.put(SRV_ID, ID);
    pt.put(SRV_LOG_LEVEL, LogLevel);



    write_ini( INI_FILE_NAME, pt );

    return true;
}

问题是它覆盖整个文件而不是一个部分。如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

只需

  1. 阅读原版INI
  2. 更新ptree
  3. 中的值
  4. 将结果树写入INI
  5. 请注意,并非所有信息都会100%往返(有关限制,请参阅the documentation

    另请参阅:c++ boost library - writing to ini file without overwriting?

答案 1 :(得分:0)

最简单的方法是将ptree保持为全局或静态。