2014-07-03 62 views

回答

6

在Linux終端上使用默認設置的Ctrl-D是stdin的文件結束標記。

另請參閱the tty demystifiedstty(1)命令(和termios(3) ...)。使用例如feof(3)某些stdio操作,或比較getc(3)EOF(etc ....)的結果來檢測文件結束條件!

+0

在Windows上,Ctrl-Z被轉換爲EOF。想知道爲什麼。 – Jakub

+1

@Jakub:爲什麼Windows使用Ctrl-Z?我認爲簡短的答案是「歷史」。從維基百科:早期的DEC操作系統使用了這個慣例,它是由CP/M借用的,隨後又在MS-DOS和Microsoft Windows操作系統中借用並繼續使用。 – Blastfurnace

+0

是的。但有人必須在IBM /微軟做出選擇。 無論如何,我的觀點是強調這不是C答案,而是平臺依賴性。 – Jakub