如果我有超过26个选项,如何使用C++ getopt_long()?

Mik*_*ail 5 c++

这是一个相当假设的问题,但是假设我有3个以相同字母开头的长参数.

--parse or -p
--prune or -r
--pivot or -i
Run Code Online (Sandbox Code Playgroud)

最终,我将开始用完有意义的单个字母,更重要的是,在GNU getopt_long()配置中很难分配一些有意义的东西.

{"parase", no_argument,       0, 'p'},
{"prune",  no_argument,       0, 'r'},
{"pivot",  required_argument, 0, 'i'}
Run Code Online (Sandbox Code Playgroud)

在这些情况下,最佳做法是什么?

Mic*_*ker 7

您不必为该val成员使用可打印字符.而且,它int不是char.它应该只是帮助您确定选项.(意思是,你不必有相应的短路).


tro*_*foe 5

您可以选择大写和小写,为您提供52个短选项,但是许多接受长选项的程序甚至不会为某些选项分配短选项,这迫使用户只使用长选项,这没问题.