在C中使用getopt_long()的强制选项

时间:2011-01-12 12:34:54

标签: c getopt-long

使用C / C ++,getopt_long()可用于解析命令行参数。是否有可能告诉函数某些选项是强制性的?例如,如果在不提及下面的端口的情况下调用getopt_long,我怎么能告诉startServer解析应该给出错误?

./startServer -port 80

注意:我不是说选项参数是强制性的,而是选项本身。

1 个答案:

答案 0 :(得分:5)

getopt_long()不是C语言的一部分。它是一个GNU发明,在某些C实现中可用,但远非所有。

glibc中的getopt_long()版本(在大多数Linux发行版中使用)不允许您指定选项是必需的。完成解析命令行后,您必须明确检查它们。