Kleines Prob beim Umgang mit ner Datei

O

Olti

Mitglied
Hallo!!

Ich hab ein kleines Problem, bei dem ich nicht genau weiß woran es liegt obwohl die Erklärung wahrsheinlich mehr als simpel ist.

Ich möchte eine Datei kopieren und dazu nutz ich im Prinzip folgenden Code:

Code:
char c;
ifstream infile;
ofstream outfile;

while(infile)
{
infile.get(c);
outfile.put(c);
}

Allerdings ist meine Datei, die ich als Ergebnis habe immer ein byte größer als meine Quelle! Kann mir jemand sagen waran das liegt und wie ich die ganze Sache umgehen kann??

MFG Olti
 
du musst das ende des streams mit infile.eof() prüfen, die datei ist deswegen ein null-byte größer, weil du über die grenze hinausfährst und anschließend (also schon ein byte im nirvana) ein failbit bekommst, sonst hättest du mit dieser methode sowieso eine endlosschleife, schreibe es so:

Code:
while(!infile.eof())
{
    infile.get(c);
    outfile.put(c);
}
 
Zurück
Oben