我正在寻找一种在 C++ 中存储程序设置或选项或配置的解决方案。这些可能是在 GUI 中公开的设置,需要在代码运行之间保存。
在我的搜索中我遇到了boost.PropertyTree http://www.boost.org/doc/libs/1_46_1/doc/html/property_tree.html这似乎是一个不错的选择。我知道 boost 是备受推崇的代码,所以我很舒服地使用它,所以我开始使用它进行开发。然后我遇到boost.program_options http://www.boost.org/doc/libs/1_46_1/doc/html/program_options.html这似乎允许您做同样的事情,但看起来也更适合程序设置的特定用例。
现在我想知道哪一个最适合这份工作? (或者有第三种选择比这两种选择都更好)
EDIT:仅供参考,这是一个插件,因此它不会使用命令行选项(如,这甚至是不可能的)。
UPDATE
我最终坚持使用 boost.PropertyTree。我需要能够将更改后的选项保存回 INI,但我没有看到使用 boost.program_options 执行此操作的方法。
Use boost::program_options
。这正是它的用途。在一个库中,您可以获得命令行选项、环境变量选项和类似 INI 的配置文件解析器。它们都以正确的方式集成在一起,因此当用户在多个源中指定相同的选项时,库知道要考虑的正确优先级顺序。
boost::property_tree
另一方面是一个更通用的库。该库将文本流解析为统一的数据模型。但You需要做real解析——根据您的需要理解数据块。当库看到特定选项字符串时,它不知道何时需要参数,也不知道何时不允许特定选项使用特定值或值类型。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)