首页 > 解决方案 > c语言中getopt的返回

问题描述

我对 getopt 的回归感到很困惑。它什么时候返回 (-1) ?

当我将它分配给一个 int 变量时,如果我不在终端窗口中编写任何选项,它会返回 (-1)。而即使我写了多个选项,它也会返回 ascii 中的第一个选项字符。

但是在不分配的情况下使用它时,如果我写了多个选项,它会返回 (-1)。

关于附加图像,尽管值等于 -1,但它是如何键入错误消息的?

声明

结果

标签: cgetopt

解决方案


在您的示例中,带有 2 个参数的 getopt 将在您每次调用它时返回不同的值。第一次它会返回 'a' 然后它会返回 'b' 并且最后一次它没有更多的选项可以读取并且会返回 -1

它应该在这样的循环中处理 https://www.tutorialspoint.com/getopt-function-in-c-to-parse-command-line-arguments


推荐阅读