如何使用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