Schreiben in die C ++ - Datei, bis eine angegebene Dateigröße erreicht ist

  • Ich schreibe ein C ++ - Programm, um in eine Textdatei mit einer angegebenen Größe zu schreiben. Ich erstelle eine Textdatei mit der angegebenen Größe, beispielsweise 2 KB. Ich möchte weiter in diese Datei schreiben, bis das Limit von 2 KB erreicht ist und der Benutzer diesen Punkt benachrichtigt. Ich bin nicht sicher, wie der beste Weg ist. Ich suche eine plattformübergreifende Lösung. Wäre etwas wie libevent (http://libevent.org/) dafür gut oder vermisse ich etwas Einfacheres.

    Irgendwelche Ratschläge / Hilfe werden sehr geschätzt.

    Danke

    22 November 2011
    ababeel
1 answer
  •  #include <fstream>
    
    int main()
    {
        std::ofstream ofs("output.img", std::ios::binary | std::ios::out);
        ofs.seekp((2<<10) - 1);
        ofs.write("", 1);
    }
     
    • Wenn Sie Dateipos ermitteln möchten, können Sie std::ofstream::tellp()
    • Alternativ kann sync + stat die aktuelle Dateigröße abrufen, ohne die Datei erneut zu öffnen
    22 November 2011
    Fred Foo