Linux與Windows關於標准輸入中涉及EOF的處理方式


在window下,在行尾加Ctrl+Z並且enter后並不會結束程序的運行,而只會將Ctrl+Z當成一個字符來解釋,並且將在輸入緩沖區中存儲的本行數據輸出。
要結束輸入必須在新的一行(輸入enter迫使輸出"標准輸入"緩存區之后)使用Ctrl+Z。

 


在linux下,可以在輸入enter迫使輸出"標准輸入"緩存區之后,在新行按Ctrl-D結束輸入,這種方法類似於windows的處理方式。也可以在行尾連續兩次鍵入Ctrl-D。

 

相關解析:

Linux中,在新的一行的開頭,按下Ctrl-D,就代表EOF。
如果在一行結束時按下Ctrl-D,則表示輸出"標准輸入"緩存區,所以這時再按一次Ctrl-D就代表EOF,從而就可以結束輸入;
那么,如果真的想輸入Ctrl-D怎么辦?這時必須先按下Ctrl-V,然后就可以輸入Ctrl-D,系統就不會認為這是EOF信號。Ctrl-V表示按"字面含義"解讀下一個輸入,要是想按"字面含義"輸入Ctrl-V,連續輸入兩次就行了。
注:Linux中按下Ctrl-Z,表示將該進程中斷,在后台掛起,用fg命令可以重新切回到前台;按下Ctrl-C表示終止該進程。

Windows中,在新的一行(輸入enter迫使輸出"標准輸入"緩存區之后)開頭按下Ctrl-Z表示EOF;如果真的想輸入Ctrl-Z,在非行開頭的地方輸入Ctrl-Z即可,在windows中不能將Ctrl-Z表示為行首字符


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM