Variierende/Falsche Dateigröße beim Schreiben mit ofstream



  • Hallo !

    Beim Schreiben von 1024*1024 Byte als ofstream ist die angelegte Datei mal 1024kB groß, mal 1025kB, ohne erkennbare Ursache. Da ich die Datei in einem zweiten Durchgang mit einem festen Bitmapheader versehe, ist das ziemlich ungünstig.
    Weiß jemand, woran das liegt und was man dagegen machen kann?

    Ich benutze Dev-C++ 4.9.6.0:

    char *Speicherbild=new char [1024*1024];
    Ausgabedatei.open(Dateiname.c_str(), ios::binary || ios::out);
    Ausgabedatei.write(Speicherbild,1024*1024);
    (+close und clear)

    Wäre für Hilfe sehr dankbar!

    P.S.: Ich glaube, beim letzten Posten ist etwas schief gegangen bzw. sorry, falls die Nachricht jetzt zweimal auftaucht!
    😕



  • Hallo,

    Der Fehler sieht so aus, als wäre ios::binary nicht gesetzt.
    Ah, ja benutze das binäre OR und nicht das logische. (nur ein |)

    Ausgabedatei.open(Dateiname.c_str(), ios::binary | ios::out);
    


  • Alles klar, funktioniert, herzlichen Dank!!


Anmelden zum Antworten