我不确定如何在C语言的optstring
函数中正确使用getopt
。
该字符串应如何格式化?我看到了一些字母彼此相邻的例子,有时用分号分隔,有时用两个分号分隔。
这是什么意思?
答案 0 :(得分:27)
它只是一个字符串,此字符串的每个字符代表一个选项。如果此选项需要参数,则必须遵循:
的选项字符。
例如,"cdf:g"
接受选项c
; d
; f
; g
和f
需要额外的参数。
命令行中的选项看起来像-option
,因此您可以使用选项-c
,-d
,-f argument
和-g
。
答案 1 :(得分:11)
getopt(3)
联机帮助页非常清楚:
:
,则该选项具有必需参数 - 未指定该选项将导致该功能失败,::
,则该选项具有可选参数。选项是单字母标识符。例如,将aB:cD::
之类的字符串指定为optstring
意味着您的程序会将选项a
,B
带有必需参数c
和{ {1}}带有可选参数。
答案 2 :(得分:2)