【问题标题】:Mandatory options with getopt_long() in CC 中使用 getopt_long() 的强制选项
【发布时间】:2011-01-12 23:00:21
【问题描述】:

使用 C/C++,getopt_long() 可用于解析命令行参数。是否可以告诉函数某些选项是强制性的?例如,如果在调用startServer 时没有提及下面的端口,我如何告诉getopt_long 解析应该出错?

./startServer -port 80

注意:我不是说选项参数是强制性的,而是选项本身。

【问题讨论】:

  • 我怀疑有没有办法。跟踪是否已看到该选项?

标签: c getopt-long


【解决方案1】:

getopt_long() 不是 C 语言的一部分。这是一项 GNU 发明,在某些 C 实现中可用,但远非如此。

glibc 中的getopt_long() 版本(在大多数Linux 发行版中使用)不允许您指定一个选项是强制性的。完成命令行解析后,您必须明确检查它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    • 1970-01-01
    • 2016-07-17
    • 2017-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多