2014-06-16 83 views
0

我是新來的C語言編程,雖然我知道的Java(或多或少)C程序設計語言(K & R);回覆:第1章(EOF)

我不理解EOF是如何工作的,以及因。這對於每一個使用「while(c!= EOF){」這樣的條件的問題都是不斷的麻煩,因爲我沒有上傳文件來讀取文件,而是用戶輸入輸入文件,我該如何觸發EOF當我完成鍵入我的測試文本/輸入?我已經讀過Mac的命令「control + D」應該終止一些事情(究竟是什麼?),但這最終會在我的筆記本電腦上凍結Eclipse。

什麼這麼做嗎?

非常感謝!

+0

這似乎是Eclipse中的一個錯誤。可能相關的論壇帖子:http://www.eclipse.org/forums/index.php/t/80463/,https://bugs.eclipse.org/bugs/show_bug.cgi?id=159803。 –

+0

簽出此答案,解釋如何在Eclipse中輸入EOF。 http://stackoverflow.com/questions/14908507/how-do-we-terminate-this-c-code/14916723#14916723。 –

+0

解決方法:Eclipse中的運行配置技巧做到了。謝謝! – Anya

回答

3

如果你不是在eclipse中,而是在終端中運行你的程序,「control + D」會實際終止輸入並生成EOF。

如果在終端與重定向爲輸入文件運行程序:

prog < file.in 

你的程序,如果它通過讀取所有的內容接收文件內容作爲輸入和EOF。

看來,「控制+ D」應該在日食中工作,但它並不是因爲錯誤。 這:Passing End of Transmission (Ctrl + D) character in Eclipse CDT console可能會給你一些更多的信息和可能的解決方法。