大家好我希望你能帮助我理解为什么getopt使用int以及getopt中optopt变量的处理。对 C++ 来说很新。
查看 getopt,optopt 被定义为一个整数。 http://www.gnu.org/software/libtool/manual/libc/Using-Getopt.html#Using-Getopt
和这里的例子, http://www.gnu.org/software/libtool/manual/libc/Example-of-Getopt.html#Example-of-Getopt
在这个例子中,我不明白的部分是如何在 switch 语句中将整数与 char 进行比较。
据我了解,geopt 的主要参数虽然是字符数组 argv,但它处理返回一个 int 的事实对我来说似乎很奇怪,我的期望是一个 char,并且我需要将任何数字参数转换为 int。char 是否会自动转换为它的 ANSI 代码并再次转换回来?printf 语句
fprintf (stderr, "Unknown option `-%c'.\n", optopt);
据我所知,期待一个字符,但被赋予一个整数。为什么 getopt 在处理字符数组时会使用 int ?
我错过了一些非常明显的东西吗?我必须。