我的论点是这样的
./a.out -i file1 file2 file3
如何利用
getopt()
获取3个(或更多)输入文件?我在做这样的事:
while ((opt = getopt(argc, argv, "i:xyz.."))!= -1){
case 'i':
input = optarg;
break;
...
}
我只得到
file1
;如何得到file2
,file3
? 最佳答案
如果必须这样做,可以从argv[optind]
开始,然后自己增加optind
。但是,我建议不要这样做,因为我认为语法形式不好。(你怎么知道自己什么时候到了名单的末尾?如果某人有一个名为-
的文件作为第一个字符呢?)
我认为最好还是将语法更改为:
/a.out -i file1 -i file2 -i file3
或将文件列表视为位置参数:
/a.out file1 file2 file3
关于c - C getopt多重值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3939157/