【发布时间】:2012-12-02 00:18:53
【问题描述】:
我正在为我的大学工作/开发一个 C 程序,调用时可以有 3 个选项(-h 寻求帮助,-o <argument>(有或没有它),最后一个选项可以是一个字符串,如(test- in-1):
./myprogram test-in-1
我必须在我的 main 上处理这些选项,并在调用它们时执行所需的操作。它们都不是强制性的。
我正在考虑使用getopt 来解析选项,但是其中一个选项实际上是string(char *),并且由于getopt 无法读取字符串,因此我有点迷路了,只能读取字符或带参数的字符(据我所知,例如-h、-o <argument>)。知道我该怎么做吗?
除了主线之外,我真的不能发布任何代码,因为我在它的开头卡住了(int main(int argc, char *argv[]))。
提前感谢您提供正确方向的任何建议/点。
【问题讨论】:
-
见this
-
谢谢!!看起来很容易理解!
-
test-in-1不是一个选项,它是一个常规参数。getopt()和类似的库通常只处理以-(或getopt_long()中的+)开头的选项。字符串参数留给程序自己处理。