标签: 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对吗?
答案 0 :(得分:2)
根据手册[1] [2]和来源[3],无法关闭匹配的缩写长选项。
您的选择是接受此行为(已经存在了几十年并且不太可能让用户感到惊讶)或者寻找允许关闭长选项缩写的其他选项解析器库。