c - Getopt - 文件名作为参数

标签 c unix

假设我编写了一个这样调用的 C 程序:

./something -d dopt filename

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

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

最佳答案

使用 optstring "d:"

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

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

关于c - Getopt - 文件名作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5188666/

相关文章:

c - 错误 : invalid lvalue in assignment [in c]

c - "struct a a1 = {0};"不同于 "struct a a2 = {5};"为什么?

macos - 串行端口挂起

unix - 查找命令 : search with created time

c - 关于STDIN、STDOUT、STDERR及返回值

c - C 中字符串函数 strlen() 的不同输出

c - 迭代时内核哈希表崩溃

objective-c - 应用程序内的 Cocoa 32 位和 64 位二进制文​​件

linux - DbVisualizer.rpm 没有转换为 .deb?

linux - 什么时候用引号括起 shell 变量?