【问题标题】:How do you use optional and non optional arguments?你如何使用可选和非可选参数?
【发布时间】:2014-10-10 15:25:26
【问题描述】:

我了解如何使用 getopt 来接受命令行参数,例如

./program -a yes -b no

我目前正在尝试做的是接受命令行参数,其中有些是可选的,有些不是。

例如:

./program argv[1] argv[2] -a yes -b no

【问题讨论】:

    标签: c command-line


    【解决方案1】:

    多个可选参数之后的选项可能是个坏主意;如果可以的话,不要这样设计命令行语法。

    也就是说,您可以在getopt 之外自己解析参数,直到您看到看起来像一个选项的东西(同时增加argv 并减少argc)。然后从该点开始使用getopt 作为命令行的其余部分。

    伪代码:

    for (; *argv; argc--, argv++) {
      if (argv looks like an option)
        break;
    
      process *argv somehow      
    }
    
    now process with getopt(argc, argv, ...)
    

    【讨论】:

      猜你喜欢
      • 2022-07-24
      • 1970-01-01
      • 1970-01-01
      • 2020-11-10
      • 2014-01-24
      • 2018-05-07
      • 1970-01-01
      • 1970-01-01
      • 2012-09-04
      相关资源
      最近更新 更多