使用 boost::program_options
在我的程序中,我有一个对的列表 - 名称和大小。
我想使用 boost::program_options
从命令行界面构建此列表。
它应该看起来像这样:
myProg --value("约翰",10) --value("史蒂夫",14) --value("玛吉",28)
我还需要按顺序排列 - Steve 将在 John 之后和 Marge 之前列表。这可以通过 boost::program_options
实现吗?
此 CLI 语法只是获取列表的一个想法。如果你有更好的,请告诉。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您只需定义您的选项
和适当的选项
,以您的
("John",10)
格式从in
读取单个YourPairType
。解析的选项将按照它们在命令行中出现的顺序存储。如果您使用自定义验证器<,您可以获得更大的灵活性/a> 而不是
运算符>>
。You just define your option
and an appropriate
that reads a single
YourPairType
fromin
in your("John",10)
format. Parsed options will be stored in the order they appear in the command line.You can achieve greater flexibility if you use custom validators instead of
operator >>
.每行具有一对值的文件可以是一个选项。该文件可以是纯 ascii 文本文件,也可以使用 xml 文件 - 请参阅 增强序列化。
A file with each line having one pair of values can be one option. The file could be a plain ascii text file or you can go for xml files too - refer to boost serialization.