如何在C ++中使用getopt严格执行选项检查?

时间:2015-10-28 11:32:14

标签: c++ command-line-interface getopt getopt-long

我使用getopt来解析用C ++编写的CLI的输入。 我有long和short选项,我的struct long_options []元素看起来像这样:

{"verbose", no_argument, NULL, "v"}

一个观察是 - 在命令行上,即使我通过

# mycommand --verb

它仍然接受并且路由到处理详细行为的函数。 有没有办法让getopt做一个严格的选项检查?它不应该接受--verb as --verbose对吗?

1 个答案:

答案 0 :(得分:2)

根据手册[1] [2]和来源[3],无法关闭匹配的缩写长选项。

您的选择是接受此行为(已经存在了几十年并且不太可能让用户感到惊讶)或者寻找允许关闭长选项缩写的其他选项解析器库。