C ++: Immer wenn ich mit fstream eingelesen habe, habe ich am Ende 1 extra Charakter bekommen

8

Jedes Mal, wenn ich von fstream einliest, bekomme ich am Ende 1 extra Charakter. Wie kann ich das vermeiden?

BEARBEITEN:

%Vor%     
Thang Pham 06.05.2010, 19:18
quelle

2 Antworten

6

Dies ist in der Regel darauf zurückzuführen, dass das Ende der Datei falsch getestet wurde. Normalerweise möchten Sie Folgendes tun:

%Vor%

oder:

%Vor%

aber NICHT:

%Vor%

oder:

%Vor%

Edit: Die ersten beiden tun einen Lesevorgang, überprüfen, ob es fehlgeschlagen ist, und wenn ja, beenden Sie die Schleife. Die letzten beiden versuchen, zu lesen, zu verarbeiten, was "gelesen" wurde, und dann die Schleife bei der nächsten Iteration zu beenden, falls der vorherige Versuch fehlgeschlagen ist.

Edit2: Um eine Datei leicht in eine andere zu kopieren, sollten Sie folgendes in Erwägung ziehen:

%Vor%     
Jerry Coffin 06.05.2010, 19:27
quelle
0

Anhand des Codes scheint es, dass Sie den Inhalt einer Datei in eine andere kopieren wollen.

Wenn ja, würde ich so etwas versuchen:

%Vor%     
Daniel 06.05.2010 19:42
quelle

Tags und Links