C编程语言(K& R);回复:第1章(EOF)

时间:2014-06-16 21:13:42

标签: c stream eof

我是C编程的新手,虽然我知道Java(或多或少)。

我不理解EOF是如何工作的,并且由于这个原因,使用诸如“while(c!= EOF){”之类的条件的每个问题都会遇到麻烦。由于我没有上传要读取的文件,而是用户输入输入,如何在完成输入测试文本/输入后触发EOF?我已经读过Mac的命令“control + D”应该终止一些东西(究竟是什么?),但这最终会冻结我笔记本电脑上的Eclipse。

如何处理这一切?

非常感谢!

1 个答案:

答案 0 :(得分:3)

如果你的程序不是在eclipse中运行,而是在终端中运行,那么#34; control + D"实际上将终止输入并生成EOF。

如果您在终端中运行程序并将文件重定向为输入:

 prog < file.in

如果您的程序读取了所有内容,您的程序将收到文件内容作为输入和EOF。

似乎&#34;控制+ D&#34;应该在eclipse中工作,但它并不是因为一个bug。 这个:Passing End of Transmission (Ctrl + D) character in Eclipse CDT console可能会为您提供更多信息,并可能提供解决方法。