8

在我的程序中,我有一个配对列表 - 名称和大小。

我想从命令行界面使用boost::program_options.

它应该看起来像这样:

myProg --value("John",10) --value("Steve",14) --value("Marge",28)

我还需要这样做 - 史蒂夫将在名单上的约翰之后和玛吉之前。这可能boost::program_options吗?

此 CLI 语法只是获取列表的一个想法。如果你有更好的,一定要告诉。

4

2 回答 2

5

您只需定义您的选择

("value", value<vector<YourPairType>>()->composing(), "description")

和适当的

istream& operator >> (istream& in, YourPairType& pr) { /* ... */ }

YourPairTypein您的("John",10)格式中读取一个。解析的选项将按照它们在命令行中出现的顺序存储。

如果您使用自定义验证器而不是operator >>.

于 2010-12-24T10:05:28.007 回答
0

每行具有一对值的文件可以是一个选项。该文件可以是纯 ascii 文本文件,或者您也可以使用 xml 文件 - 请参阅boost serialization

于 2010-12-23T14:33:48.437 回答