Behebung des doppelten Lesens der letzten Zeile in der EOF-Schleife
Das ursprüngliche Problem tritt auf, wenn aus einer Textdatei bis zum Ende der Datei (EOF) gelesen wird ) erreicht ist. Der bereitgestellte C-Code greift aufgrund der verzögerten Verarbeitung der EOF-Anzeige wiederholt zweimal auf die letzte Zeile.
Um dies zu beheben, folgen Sie der Ereigniskette:
Um dieses Problem zu beheben, können die folgenden Änderungen am Code vorgenommen werden:
while (true) { int x; iFile >> x; if (iFile.eof()) break; cerr << x << endl; }
In diesem überarbeiteten Code wird die Schleife fortgesetzt, bis das Ende der Datei erreicht ist , um sicherzustellen, dass die letzte Zeile nur einmal gelesen wird. Es behandelt auch den Fall einer leeren Datei ordnungsgemäß.
Das obige ist der detaillierte Inhalt vonWie verhindert man doppelte Lesevorgänge der letzten Zeile, wenn EOF in einer C-Dateischleife erreicht wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!