我正在尝试在 C++ 程序中使用 getopt 来解析命令行参数。参数是 -d xxx、-s xxx 和 -?。我无法捕捉到 -? 参数,我想打印一个标准的使用消息。
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 提供了正确的模式(即'?d:s:') 目前,c 被设置为'?每当提供无效选项时,即使是“?” 不在命令行上提供。
多谢你们。