【发布时间】:2014-10-10 15:25:26
【问题描述】:
我了解如何使用 getopt 来接受命令行参数,例如
./program -a yes -b no
我目前正在尝试做的是接受命令行参数,其中有些是可选的,有些不是。
例如:
./program argv[1] argv[2] -a yes -b no
【问题讨论】:
标签: c command-line
我了解如何使用 getopt 来接受命令行参数,例如
./program -a yes -b no
我目前正在尝试做的是接受命令行参数,其中有些是可选的,有些不是。
例如:
./program argv[1] argv[2] -a yes -b no
【问题讨论】:
标签: c command-line
多个可选参数之后的选项可能是个坏主意;如果可以的话,不要这样设计命令行语法。
也就是说,您可以在getopt 之外自己解析参数,直到您看到看起来像一个选项的东西(同时增加argv 并减少argc)。然后从该点开始使用getopt 作为命令行的其余部分。
伪代码:
for (; *argv; argc--, argv++) {
if (argv looks like an option)
break;
process *argv somehow
}
now process with getopt(argc, argv, ...)
【讨论】: