假设我制作了一个C程序,其名称如下:
./something -d dopt filename
Run Code Online (Sandbox Code Playgroud)
所以-d是一个命令,dopt是一个可选的参数-d,并filename为参数./something,因为我也可以调用./something filename。
getopt获取文件名的形式是什么?
使用选项字符串"d:"
-d dopt以optarg通常的方式捕获。然后查看optind(将其与 进行比较argc),它会告诉您是否还剩下任何非选项参数。如果是这样,您的文件名就是其中的第一个。
getopt没有具体告诉您非选项参数是什么或检查数字。它只是告诉你它们从哪里开始(如果你处于 GNU 的非严格 POSIX 模式,首先将它们移动到参数数组的末尾)