【发布时间】:2012-04-17 22:26:47
【问题描述】:
我必须编写一些命令行实用程序,它应该能够接受一堆不同类型的参数以及它们之间的依赖关系。
我懒得重新发明轮子,并假设已经有一些可以处理此类任务的 sn-ps/mini 库。
如果有 api,我可以在其中描述验证规则、默认值等,然后将原始 argc/argv 提供给它并获取解析值的映射,那就太好了。
我需要什么:
- 键/参数的默认值
- 验证键/参数(一些键应该是某个范围内的整数,一些键可以采用预定义的字符串值之一)
- 键/参数之间的依赖关系(如果键 --foo 设置 - 用户还应该为 --bar 键提供值)
谢谢。
【问题讨论】:
-
看来你的功课很懒惰,如果是,请适当标记Q。
-
getopt/getopt_long 是我常用的,但您的要求超出了它的范围。
-
如果你找不到这样的库,也许你应该花时间自己做一个库?然后您可以将其用于未来的应用程序,甚至可以将其作为开源发布以供其他人受益?
-
@SirDarius 是的,getopt 对我的需要来说似乎太简单了。
-
顺便说一句,这样的库往往会落入inner platform effect,因为需要描述默认值、验证、依赖等的DSL,最好直接使用C++编码。跨度>
标签: c++ command-line-arguments code-snippets