C:使用带有可选参数的选项的getopt

时间:2014-02-20 13:08:33

标签: c getopt

我想创建一个带有可选参数-a的程序,该参数可以有一个可选的值'filename'。为此,我想使用getopt,但我不能让-a使用可选参数。

如果我通过"a"我可以./my_prog -a

如果我通过"a:"我可以./my_prog -a filename //这里的filenamen不是可选的

如果我通过"a::"我可以./my_prog -a[filename]

但有没有办法获得结果-a [filename] //文件名是可选的?

1 个答案:

答案 0 :(得分:3)

我不相信你所要求的是可能的。

这可能是一件好事:如果调用./my_prog -a -b,那么你的程序应该怎么办?其中-b是它应该采取的另一种选择?是否应该使用-b作为-a后面的可选文件名,或者假设没有给出文件名并将其视为一个选项,这一点并不明显。

因此,我建议您重新考虑您所要求的行为是否真的是一个好主意。