C - 如何在Argp或Getopt中允许无法识别的选项?

时间:2018-05-02 00:54:34

标签: c arguments getopt argp

我正在编写使用一些参数的FUSE文件系统。我想将所有无法识别的选项传递给FUSE(因为它有自己的选项)。我可以使用getoptA = [0 0 1.0000 0; 0 0 0 1.0000; 12.49 -12.54 0 0; -14.49 29.36 0 0]; 执行此操作吗?现在两个都给我“未知选项”错误。

1 个答案:

答案 0 :(得分:1)

<强> Argp

来自the "Argp Flags" section of the documentation

  

ARGP_NO_ERRS

     

不要将未知选项的错误消息打印到stderr ;除非这个   如果设置了flag,则ARGP_PARSE_ARGV0被忽略,因为argv[0]被用作   错误消息中的程序名称。该标志表示ARGP_NO_EXIT。   这是基于以下假设:出现错误的无声是坏的   行为。

<强>的Getopt

对于getopt(以及getopt_longgetopt_long_only),您只需在调用函数之前将全局变量opterr设置为0。或者,您可以使用带:前导":o:v"字符的短选项字符串来处理-o output-file-v :如果{-o将会返回?如果找到选项字符串中不存在的任何选项,则1}}缺少其参数和 { "expo": { ... "ios": { ... "config": { "usesNonExemptEncryption": false } } } }