我不确定如何在 C 的
optstring
函数中正确使用getopt
。
应该如何格式化该字符串?我看到了字母彼此相邻的示例,有时用分号分隔,有时用两个分号分隔。
什么意思?
就是一个字符串,这个字符串的每个字符代表一个选项。如果此选项需要参数,则必须在选项字符后加上
:
.
例如,
"cdf:g"
接受选项c
、d
、f
和g
; f
需要一个额外的参数。
命令行中的选项看起来像
-option
,因此您可以使用选项-c
、-d
、-f argument
和-g
。
getopt(3)
联机帮助页非常清楚:
:
,那么这个选项有一个必需的参数——不指定它会导致函数失败,::
,那么该选项有一个可选参数。选项是一个字母的标识符。例如,将像
aB:cD::
这样的字符串指定为 optstring
将意味着您的程序采用带有必需参数的选项 a
、B
、c
和带有可选参数的 D
。