首頁 > 後端開發 > C++ > 在 C 文件循環中達到 EOF 時如何防止重複讀取最後一行?

在 C 文件循環中達到 EOF 時如何防止重複讀取最後一行?

Linda Hamilton
發布: 2024-12-27 13:01:14
原創
528 人瀏覽過

How to Prevent Duplicated Last Line Reads When Reaching EOF in a C   File Loop?

修正EOF 循環中重複的最後一行讀取

從文字檔案讀取直到檔案結尾(EOF)時出現原始問題)達到。由於 EOF 指示的處理延遲,提供的 C 程式碼重複抓取最後一行兩次。

要修正此問題,請遵循事件鏈:

  1. 抓取第一個整數, 10.
  2. 繼續閱讀 20。
  3. 讀 30 並繼續 EOF檢查。
  4. 由於尚未達到 EOF,因此循環繼續。之前的值 30 仍然儲存在 x 中。
  5. 偵測到 EOF,導致 x 保留值 30 並設定 ios::eofbit 標誌。
  6. x 的值輸出為 30,與上一次迭代相符。
  7. 現在評估循環條件,並且由於遇到EOF,因此循環

要解決此問題,可以對程式碼進行以下修改:

在此修改後的程式碼中,循環將繼續,直到到達檔案末尾,確保最後一行僅讀取一次。它還可以優雅地處理空文件的情況。

以上是在 C 文件循環中達到 EOF 時如何防止重複讀取最後一行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板