我試圖讀取一個文件(實際上是一個ROM)。事情是,我的程序在實際到達文件結尾之前停止。這是我寫的:試圖讀取文件直到最後(不工作)
int main(){
cout << "Entter the file to read in HEX: " ;
string fileName;
cin >> fileName;
ifstream streamLecture(fileName);
unsigned char charLu;
while(!streamLecture.eof()){
streamLecture >> charLu;
cout<< hex << setw(2) << setfill('0') << short(charLu) << ' ';
}
streamLecture.close();
cout << endl;
}
這個程序清點HEX值的幾行,但我知道有,因爲我讀了十六進制編輯器程序的文件多了很多。
編輯:好的,所以我假設在我的文件中有一個EOF,我該如何跳過它或繼續閱讀後?再次感謝
嘗試使用'而(streamLecture.get(charLu)){// ...'而不是'>>'。 – jxh
@ZacHowland問題不是循環,而是爲什麼它在結束之前停止。我試過 while(streamLecture >> charLu) 但它仍然停止,我不知道爲什麼。謝謝 – user2888798
@jxh與以前一樣的問題,在結束之前停止讀取 – user2888798