更改Boost程序选项中的注释字符?

时间:2013-12-09 01:58:38

标签: php c++ boost boost-program-options

我有一个包含PHP和C ++组件的应用程序。他们需要共享一些配置选项,我想用一个文件来共享它们 - 一个简单的配置文件。

幸运的是,PHP有parse_ini_file(),Boost有程序选项,它们共享几乎相同的语义。他们都可以阅读我需要的所有选项。

这里的“问题”是PHP的函数支持分号(“;”)作为注释字符,Boost支持哈希(“#”)。 PHP用于支持哈希,但现在它会抛出一个弃用的错误。

我很确定我无法轻易更改PHP中的注释字符。任何人都知道我是否可以更改Boost注释字符?我不想仅仅为了评论而重写所有这些功能。

1 个答案:

答案 0 :(得分:1)

找出解决这个问题的方法。

鉴于Boost相当健壮,我找不到合理的方法来替换注释字符,而#是配置文件中相当可接受的注释字符,我在PHP中解决了它。

我使用file_get_contents加载配置文件,使用preg_replace删除以#开头的行,然后通过parse_ini_string传递结果。