0

我必须限制用户何时提供“--”作为选项。例如:

./test --

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

如何使用 getopt 实现这一点?

4

1 回答 1

3

getopt旨在实现符合POSIX 实用程序语法指南的程序,其中--具有特殊含义,即导致所有后续参数被视为非选项,即使它们具有选项的形式(例如rm -- -f,删除名为 的文件-f)。没有明确的方法来抑制这种行为。您可以尝试检查是否argv[optind-1]"--"在完成后,但如果是参数的选项需要一个参数(类似于需要参数的地方),您可能需要解决getopt这个问题,这会给出误报。"--"-f ---f

如果你真的想要不符合实用程序语法指南的参数处理,你最好从头开始自己动手。

于 2014-05-19T12:58:14.017 回答