我理解如何使用getopt接受命令行参数,如
./program -a yes -b no
我目前要做的是接受命令行参数,其中一些是可选的,一些不是。
例如:
./program argv[1] argv[2] -a yes -b no
答案 0 :(得分:0)
多个可选参数后的选项可能是个坏主意;如果你能提供帮助,就不要设计命令行语法。
也就是说,您可以在getopt
之外自己解析参数,直到看到类似于选项的内容(同时递增argv
并递减argc
)。然后使用getopt
作为该点上命令行的其余部分。
的伪代码:
for (; *argv; argc--, argv++) {
if (argv looks like an option)
break;
process *argv somehow
}
now process with getopt(argc, argv, ...)