如何使用boost库读取(或修改).ini文件?如何使用boost库读取和写入.ini文件
3
A
回答
4
随着Boost.PropertyTree
您可以读取和更新树,然后写入一个文件(见load
和save
功能。
看一看How to access data in property tree。 你绝对可以添加新的属性或更新现有的一个。 它mentiones有集装箱的erase
以及所以你应该能够删除现有的数值来自实例boost
(以上链接):
ptree pt;
pt.put("a.path.to.float.value", 3.14f);
// Overwrites the value
pt.put("a.path.to.float.value", 2.72f);
// Adds a second node with the new value.
pt.add("a.path.to.float.value", 3.14f);
我会假设你然后将更新后的树写入文件,无论是新文件还是覆盖现有文件。
编辑: 对于ini文件它执行特定的检查。
如果您尝试保存和您ini_parser到INI上面的例子:
- ptree中太深
- 重复键
有了,这里固定是写一个示例代码ini文件中,我更新了现有密钥的值,然后添加了新密钥:
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/ini_parser.hpp>
void save(const std::string &filename)
{
using boost::property_tree::ptree;
// pt.put("a.path.to.float.value", 3.14f);
// pt.put("a.path.to.float.value", 2.72f);
// pt.add("a.path.to.float.value", 3.14f);
ptree pt;
pt.put("a.value", 3.14f);
// Overwrites the value
pt.put("a.value", 2.72f);
// Adds a second node with the new value.
pt.add("a.bvalue", 3.14f);
write_ini(filename, pt);
}
int main()
{
std::string f("test.ini");
save(f);
}
test.ini
文件:
[a]
value=2.72
bvalue=3.14
随意试验。
相关问题
- 1. 如何使用Python3读写INI文件?
- 2. 如何使用VBScript读取ini文件?
- 3. 读/写“INI”文件
- 4. 无法读取INI文件使用boost :: program_options解析
- 5. 如何使用POCO库将更改写入“.ini”文件?
- 6. Ini文件读取和写入+添加新属性+ matlab
- 7. 使用mex读取和写入文件
- 8. 如何读取和写入文件
- 9. C++如何读取和写入文件
- 10. 如何读取和写入XML文件?
- 11. 如何读取和写入文件
- 12. 如何使用streamwriter和streamreader读取和写入文件
- 13. 如何使用TStreamWriter和TStreamReader读取和写入PDF文件?
- 14. 如何使用NSInputStream和NSOutputStream读取和写入音频文件
- 15. 读取和写入文件
- 16. 读取和写入文件
- 17. 读取和写入文件
- 18. 写入和读取文件
- 19. 用boost :: property_tree :: ptree写入注释到ini文件
- 20. 使用Apache Ant读取ini文件
- 21. 使用ConfigParser读取从ini文件
- 22. 使用Nini/.NET读取INI文件
- 23. c#如何写入ini文件
- 24. 如何在Linux中读取INI文件
- 25. 如何读取远程INI文件
- 26. 如何读取C++中的ini文件?
- 27. 如何使用Boost库来读取点文件
- 28. boost :: tcp :: iostream同时读取和写入
- 29. 如何使用python读取和写入文件?
- 30. 如何在Servlets中使用地图读取和写入文件
我不仅需要解析.ini文件,我还需要修改它的值 – yosoy89 2013-03-26 21:04:17
您的问题是关于正则表达式或使用哪个'boost'函数? – 2013-03-26 21:16:37
@ yosoy89:您也可以使用''修改值。 –
2013-03-26 21:17:19