如果选项是C上的字符串,如何使用getopt?

时间:2012-12-14 01:02:39

标签: c string getopt

我正在为我的大学开发一个C程序,在调用时可以有3个选项(-h求助,-o <argument>(有或没有),最后一个选项可以是一个字符串像(测试在-1):

./myprogram test-in-1

我必须在main上处理这些选项,并在调用它们时执行所需的操作。这些都不是强制性的。

我正在考虑使用getopt来解析选项,但其中一个选项实际上是string(char *),而且由于getopt无法使用,我很遗憾读取字符串,只读取char或带参数的char(例如,-h-o <argument>,据我所知。我怎么能这样做?

除了主线之外,我无法真正发布任何代码,因为我已经陷入了(int main(int argc, char *argv[]))的开头。

提前感谢任何有关正确方向的建议/观点。

2 个答案:

答案 0 :(得分:0)

您可以传递冒号:,这意味着它需要一个参数,该参数将在optarg中设置。

另见my answer here

答案 1 :(得分:0)

如果您要链接到GNU C库,请查看getopt_long