如何在linux c中使用getopt限制“ - ”?

时间:2014-05-19 12:40:28

标签: c getopt-long

我必须限制用户何时给出" - "作为一种选择。 例如:

./test --

应该抛出错误。 为了解析我正在使用getopt

如何使用getopt实现此目的?

1 个答案:

答案 0 :(得分:3)

getopt用于实现符合POSIX Utility Syntax Guidelines的程序,其中--具有特殊含义,即使所有后续参数都具有非选项,即使它们具有表单选项(例如rm -- -f)删除名为-f的文件。没有明确的方法来抑制这种行为。在argv[optind-1]完成后,您可以尝试检查"--"是否为getopt,但如果"--"是带参数的选项的参数,则会产生误报( <{1}},其中-f --需要一个参数),你可能需要解决这个问题。

如果您真的希望参数处理不符合效用语法指南,那么最好从头开始自己编写。