Binär von einer Datei in die andere schreiben
-
Hallo und guten Tag,
Ich verzweifle langsam..
Gerne würde ich eine Datei binär auslesen und dann Byte für Byte in eine andere schreiben, doch bei Ausführung stürzt das Programm ab und sagt "Das Programm hat einen Fehler verursacht", Senden, Nicht Senden.
Ich schreibe unter Windows XP, und folgender Code liefert mir den Fehler:
int main(int argc, char *argv[]) { char * mfile = "out.dat"; char * ifile = "test.dat"; fstream ms(mfile,ios::out|ios::binary); fstream is(ifile,ios::in|ios::binary); if (! ms.is_open() && ! is.is_open()) { printf("Konnte Files nicht öffnen.\n"); } else { while (!is.eof()) { ms.write(reinterpret_cast<char *>(is.get()),1); } ms.close(); is.close(); } return EXIT_SUCCESS; }Weiss jemand Rat?
Gruss jeko
-
Edit:
Schrott geschrieben

-
get() liefert einen int-Wert - den als Zeichenadresse zu interpretieren bringt nur Fehler. Und wenn du kopieren willst, bekommst du das kürzer über "ms<<is.rdbuf();"
