Datei abschneiden



  • moin
    Ich Habe eine Position in einer Datei gegeben. Wie kann ich jetzt alle Daten hinter dieser Position "abschneiden" ? Möglich wäre natürlich, alle Daten davor zu lesen und die Datei komplett neu zu schreiben. Das braucht aber eigentlich überflüssig viel Festplatte und Hauptspeicher.... andere Vorschläge ?

    danke schonmal...



  • Mit Standardmitteln geht das vermutlich gar nicht (außer dem Ansatz "alles einlesen und neu schreiben") - aber womöglich hat dein OS einen direkteren Zugang dazu, mit dem das geht.



  • Es verbraucht kaum zusätzlichen speicher, denn dein Programm scheint mir wie es scheint nur ganz kurz den speicher zu gebrauchen, und dann ist er wieder frei. Ich denke, es machen sich viel zu viele Leute bei C und C++ Programmen gedanken über unnötige optimierungsverfahren.



  • wenns mit OS API nicht geht: krams in andere datei kopieren, irgendwann aufhoeren. alte loeschen, neue umbennenen.



  • Krux schrieb:

    Es verbraucht kaum zusätzlichen speicher, denn dein Programm
    scheint mir wie es scheint nur ganz kurz den speicher zu gebrauchen, und
    dann ist er wieder frei. Ich denke, es machen sich viel zu viele Leute bei
    C und C++ Programmen gedanken über unnötige optimierungsverfahren.

    @Krox:
    hahaha

    @Krox:
    _chsize für Windows.



  • "_chsize" für Windows und "ftruncate" für Linux, das ist die Lösung (jups, ich programmiert plattformunabhängig für beide...) thx @ all


Anmelden zum Antworten