如何调用EOF到标准输入

时间:2014-09-25 16:02:34

标签: c terminal eof

我的程序正在使用scanf!= EOF从.in文件输入标准输入。如./"file" < file.in问题是我必须在终端后从终端扫描。有没有办法可以调用EOF到stdin,以便文件停止从file.in扫描或者指定scanf从终端而不是文件中读取。我也只允许使用scanf,因为这是一项大学任务。这是我的问题的模拟程序。感谢

int main() {
int arr[100];
int num;
int count = 0;
while( scanf("%d", &arr[count]) != EOF ) {
    count++;
}
printf("%d\n", arr[0]);
scanf("%d", &num);
printf("%d\n", num);
}

**输出只是第一个数字列表的编号,而scanf完全被忽略,打印数量没有值。

2 个答案:

答案 0 :(得分:0)

scanf()返回读取字符数。 你需要feof()函数,或者将scanf的返回值与0

进行比较

答案 1 :(得分:0)

要在EOF中调用/模拟stdin,如果您在Windows中,请按CTRL + Z.否则在运行程序时按CTRL + D.