Getopt-文件名作为参数

use*_*316 5 c unix

假设我制作了一个C程序,其名称如下:

./something -d dopt filename
Run Code Online (Sandbox Code Playgroud)

所以-d是一个命令,dopt是一个可选的参数-d,并filename为参数./something,因为我也可以调用./something filename

getopt获取文件名的形式是什么?

Ste*_*sop 4

使用选项字符串"d:"

-d doptoptarg通常的方式捕获。然后查看optind(将其与 进行比较argc),它会告诉您是否还剩下任何非选项参数。如果是这样,您的文件名就是其中的第一个。

getopt没有具体告诉您非选项参数是什么或检查数字。它只是告诉你它们从哪里开始(如果你处于 GNU 的非严格 POSIX 模式,首先将它们移动到参数数组的末尾)