在C 中從標準輸入讀取資料直到檔案結尾(EOF)
在C 中處理使用者輸入時,通常有必要從標準輸入(cin) 讀取數據,直到到達檔案末端(EOF)。嘗試讀取直到 EOF 時,需要考慮某些限制和方法。
一個常見的誤解是使用 cin.get(input, ' ') 讀取資料直到 EOF 或空字元 (' ')遇到就可以達到想要的結果。然而,' ' 並不代表 EOF,這種方法會一直讀取直到 EOF 或 ' ' 發生,以先到者為準。
要從 cin 讀取資料直到 EOF,需要使用循環。 std::getline() 函數為此提供了一種有效的方法:
std::getline() 讀取cin 中的輸入並將其儲存在指定的字串變數中,預設分隔符號為換行符。它傳回一個布林值,指示是否成功讀取一行。當遇到 EOF 時,std::getline() 傳回 false,導致迴圈終止。
雖然在讀取直到 EOF 時需要循環似乎是一個限制,但重要的是要記住在 C 中, EOF 本身不是一個字元。因此,不可能簡單地呼叫 std::getline() 來讀取所有資料直到 EOF。
以上是如何在 C 中從標準輸入讀取資料直到 EOF?的詳細內容。更多資訊請關注PHP中文網其他相關文章!