【发布时间】:2016-04-27 20:37:51
【问题描述】:
我正在制作一个更大程序的一部分,这部分从文本文件或标准输入提要中获取信息,这些信息的性质取决于添加到程序中的选项。没有添加文本文件作为非选项参数,程序应该从标准输入读取。
例如:
fizzle.exe -a textfile.txt 以选项 -a 规定的方式读取 textfile.exe
fizzle.exe -a 以选项 a 规定的方式读取标准输入
我还没开始工作的是:
fizzle.exe textfile.txt 以不提供选项规定的方式读取 textfile.txt(或 stdin,如果没有适当的文本文件)
这是我的代码:
while ((option = getopt(argc,argv, ":a:b:")) != -1 ) {
FILE *pointerFile = filereader(optarg);
switch(option) {
case 'a' :
optionchosen = 0;
counter(optionchosen,pointerFile,argv);
break;
case 'b' :
optionchosen = 1;
counter(optionchosen,pointerFile,argv);
break;
case ':' :
counter(optionchosen,pointerFile,argv);
break;
}
}
我不知道如何向这个开关添加一个案例,该开关通过不提供任何选项来激活,但在有或没有非选项参数(文件名)的情况下仍然有效。
【问题讨论】:
-
您能否以一种看起来不像文件名 jive 的格式良好的方式发布特定问题?
brackets.exe的作用是什么? -
我清理了,希望对您有所帮助。文本文件提供了一些计算所需的信息。阅读和计算都完美无缺。我没有详细说明该文件的作用,因为我觉得这会浪费时间、混淆和分散问题的注意力。