在我今天的课上,我们分配了一个项目,其中涉及使用./a.out“<”文件名命令读取文件。该文件的内容是这样的C使用./a.out <文件名以及如何停止读取来读取文件
16915 46.25 32 32
10492 34.05 56 52
10027 98.53 94 44
13926 32.94 19 65
15736 87.67 5 1
16429 31.00 58 25
15123 49.93 65 38
19802 37.89 10 20
-1
但更大
我的问题是,以后使用的任何scanf函数完全被忽略,当打印出来,而不是采取在用户输入什么样子的垃圾只是扫描。在我的实际程序中,这导致需要输入的菜单出现问题。
如何让程序停止读取./a.out“<”文件名命令提供的文件? 我也停在-1搜索,而不是EOF不具有一组额外的阵列数据的缘故开始-1我真正的程序 前
-1 0 0 0
每班人数为常数是可调用于计算类平均数,我宁愿没有一组0的数据倾斜。
#include <stdio.h>
int main(void)
{
int i = 0,j = 1,d,euid[200],num;
int tester = 0;
float hw[200],ex1[200],ex2[200];
while(j)
{
scanf("%d",&tester);
if(tester == -1)
{
j = 0;
}
else
{
euid[i] = tester;
}
scanf("%f",hw+i);
scanf("%f",ex1+i);
scanf("%f",ex2+i);
i++;
}
for(d = 0;d < 50;d++) /*50 because the actual file size contains much more than example*/
{
printf("euid = %d\n",euid[d]);
printf("hw = %f\n",hw[d]);
printf("ex1 = %f\n",ex1[d]);
printf("ex2 = %f\n",ex2[d]);
}
printf("input something user\n");
scanf("%d",&num);
printf("This is what is being printed out -> %d\n",num);
return 0;
}
不知道我们在同一所学校的机会是什么?无论如何,我发邮件给我的教授,我不认为这是可能的使用该命令。当我得到回复时,我会让你知道他告诉我什么。 – Yosvan10 2014-11-02 03:31:34