【轉載】C 及 C++ 常犯錯誤 – EOF 測試的錯誤用法

摘要
大家常用到的一些C/C++ 讀取檔案程式碼,大多的長相如下:

while ( !infile.eof() )
{
  // 讀檔 ...
  // 資料處理 ...
}

然而,這樣寫可能會造成錯誤!因為C/C++ 的feof() 或是eof()的運作方式,是當上一個檔案讀取到結尾時,才回傳true,並非該次讀取到EOF才回傳true。也就是說,此一方法可能會造成當次讀取到EOF時,直接通過while迴圈,造成程式錯誤!

詳細解說請至
〔教學〕C 及 C++ 常犯錯誤 – EOF 測試的錯誤用法

About the Author

Leave a Reply

Your email address will not be published. Required fields are marked *

You may also like these