2
我正在编写一个程序代理,它将stdout等重定向到文件中,其用法如下:proxy [-i infile] [-o outfile] [-e errfile] cmd [options] 。C强制getopt先停止参数
所以我想强制getopt在到达cmd时停止,因为它不应该解析选项。
我读了关于环境变量POSIXLY_CORRECT,但我想要使它独立于此。
所以我的问题是如何达到这一点。
我的代码的一部分,到目前为止
while ((opt = getopt (argc, argv, "i:o:e:")) != -1)
switch (opt)
{
case 'i':
i = 1;
strcpy(input, optarg);
break;
case 'o':
o = 1;
strcpy(output, optarg);
break;
case 'e':
e = 1;
strcpy(error, optarg);
break;
default:
fprintf(stderr, "usage: proxy [-i infile] [-o outfile] [-e errfile] <cmd> [options]\n");
return -1;
}
这将进入默认情况下,当对CMD的选项给出:(所有的时间
很好,这个小“+”解决了我所有的问题:) 非常感谢! – sch0rschi 2014-11-23 14:32:25