首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >getopt - capture '?‘

getopt - capture '?‘
EN

Stack Overflow用户
提问于 2012-11-03 19:03:48
回答 1查看 222关注 0票数 0

我正尝试在C++程序中使用getopt来解析命令行参数。参数是-d xxx、-s xxx和-?我在捕获-时遇到了问题?参数,我希望打印一条标准用法消息。

代码语言:javascript
复制
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
}

尽管我可能会尝试,我似乎不能捕捉到'-?‘选项本身。有什么特别的窍门吗?单打独斗?我是否提供了正确的模式来获取the (即'?d:s:')目前,c设置为'?‘只要提供了无效的选项,即使'?‘在命令行中未提供。

谢谢你们。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-03 19:07:14

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

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

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13208553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档