使用C / C ++,getopt_long()
可用于解析命令行参数。是否有可能告诉函数某些选项是强制性的?例如,如果在不提及下面的端口的情况下调用getopt_long
,我怎么能告诉startServer
解析应该给出错误?
./startServer -port 80
注意:我不是说选项参数是强制性的,而是选项本身。
答案 0 :(得分:5)
getopt_long()
不是C语言的一部分。它是一个GNU发明,在某些C实现中可用,但远非所有。
glibc中的getopt_long()
版本(在大多数Linux发行版中使用)不允许您指定选项是必需的。完成解析命令行后,您必须明确检查它们。