0

我正在编写使用一些参数的 FUSE 文件系统。我想将所有无法识别的选项传递给 FUSE(因为它有自己的选项)。我可以使用argpor来做到这一点getopt吗?现在两者都给我“未知选项”错误。

4

1 回答 1

1

argp

文档的“Argp 标志”部分

ARGP_NO_ERRS

不要将未知选项的错误消息打印到 stderr;除非设置了此标志,否则将ARGP_PARSE_ARGV0被忽略,因为argv[0]它用作错误消息中的程序名称。这个标志暗示ARGP_NO_EXIT。这是基于假设错误时静默退出是不良行为。

Getopt

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

于 2018-05-02T01:29:38.933 回答