gpt4 book ai didi

c++ - getopt - 捕获 '?'

转载 作者:太空宇宙 更新时间:2023-11-04 16:24:45 25 4
gpt4 key购买 nike

我正在尝试在 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 被设置为 '?'每当提供无效选项时,即使 '?'不在命令行上提供。

谢谢你们。

最佳答案

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

我会推荐 '-h' 作为帮助信息。这是一个常见的约定。

关于c++ - getopt - 捕获 '?',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13208553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com