假设我制作了一个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 模式,首先将它们移动到参数数组的末尾)