摘要
大家常用到的一些C/C++ 讀取檔案程式碼,大多的長相如下:
while ( !infile.eof() )
{
// 讀檔 ...
// 資料處理 ...
}
然而,這樣寫可能會造成錯誤!因為C/C++ 的feof() 或是eof()的運作方式,是當上一個檔案讀取到結尾時,才回傳true,並非該次讀取到EOF才回傳true。也就是說,此一方法可能會造成當次讀取到EOF時,直接通過while迴圈,造成程式錯誤!
摘要
大家常用到的一些C/C++ 讀取檔案程式碼,大多的長相如下:
while ( !infile.eof() )
{
// 讀檔 ...
// 資料處理 ...
}
然而,這樣寫可能會造成錯誤!因為C/C++ 的feof() 或是eof()的運作方式,是當上一個檔案讀取到結尾時,才回傳true,並非該次讀取到EOF才回傳true。也就是說,此一方法可能會造成當次讀取到EOF時,直接通過while迴圈,造成程式錯誤!