getopt-捕获''; 我试图在C++程序中使用GETOPT解析命令行参数。 参数是-dxxx、-sxxx和-?。 我很难捕捉到-?参数,我想打印一条标准用法消息 while ((c = getopt (argc, argv, "?d:s:")) != -1) { switch (c) { case 'd': ...do stuff break; case 's': ... do stuff break; case '?': // From example on GNU page, seems to capture -d, -s when no args provided. // Gets here when -d or -s provided, but no arguments for these options. default: // shut down }

getopt-捕获''; 我试图在C++程序中使用GETOPT解析命令行参数。 参数是-dxxx、-sxxx和-?。 我很难捕捉到-?参数,我想打印一条标准用法消息 while ((c = getopt (argc, argv, "?d:s:")) != -1) { switch (c) { case 'd': ...do stuff break; case 's': ... do stuff break; case '?': // From example on GNU page, seems to capture -d, -s when no args provided. // Gets here when -d or -s provided, but no arguments for these options. default: // shut down },c++,getopt,C++,Getopt,尽管我可能会尝试,但我似乎无法单独捕获“-?”选项。有没有一种特殊的技巧可以单独捕捉“?”呢?我是否为getopt提供了正确的模式(即“d:s:”) 目前,只要提供了无效选项,即使命令行上没有提供“?”,c也会被设置为“?” 谢谢大家。getopt使用“?”作为特殊值,表示缺少选项值或未知选项。因此,我认为没有任何方法可以使用getopt来处理'-?' 我建议使用“-h”作为帮助消息。这是一种常见的约定。getopt使用“?”作为特殊值,表示缺少的选项值或未知选项。因此,我认为没有任何方法可以使

尽管我可能会尝试,但我似乎无法单独捕获“-?”选项。有没有一种特殊的技巧可以单独捕捉“?”呢?我是否为getopt提供了正确的模式(即“d:s:”) 目前,只要提供了无效选项,即使命令行上没有提供“?”,c也会被设置为“?”


谢谢大家。

getopt
使用
“?”
作为特殊值,表示缺少选项值或未知选项。因此,我认为没有任何方法可以使用
getopt
来处理'-?'


我建议使用“-h”作为帮助消息。这是一种常见的约定。

getopt
使用
“?”
作为特殊值,表示缺少的选项值或未知选项。因此,我认为没有任何方法可以使用
getopt
来处理'-?'


我建议使用“-h”作为帮助消息。这是一种常见的惯例。

事实上,
getopt
使用
作为特殊值是一种赠品,您不应该使用它来显示帮助。这就是
-h
-help
的作用所在。遵守这些约定而不是做自己的事情是值得的。
getopt
使用
作为一个特殊值这一事实是对您的赠品,您不应该使用它来显示帮助。这就是
-h
-help
的作用所在。遵守这些惯例而不是做你自己的事情是值得的。谢谢约翰-戈奇亚?不是为了使用,最好使用-h或--help。谢谢john-gotchya?不是为了使用,最好使用-h或--help。