標準輸入流(stdin) 中的文件結尾(EOF)
問題:
標準輸入有文件結束標記嗎?如果沒有,可以加一個嗎?
答案:
Stdin 中的 EOF
stdin 自然沒有 EOF標記。從 stdin 讀取時(例如,使用 fread 或 read),循環:
while ((c = read(0, buffer, BUFSIZ)) > 0) { // ... }
除非明確模擬 EOF,否則不會結束。
在 Stdin 模擬 EOF
在 UNIX 系統中,按 Ctrl D 可以模擬 stdin 中的 EOF。在 Windows 中,按 Ctrl Z。這將使程式表現得好像已到達輸入檔案的末尾。
重定向輸入
重定向輸入時來自檔案(例如,程式 額外說明 Stdin without重定向可以被認為是一個無限檔案。輸入結束必須透過使用 Ctrl D 或 Ctrl Z 模擬 EOF 來手動發出訊號。
以上是如何在標準輸入流 (stdin) 中模擬檔案結束符 (EOF)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!