Datei kürzen mit fopen(filename,"r+b");
-
Hallo,
Ich möchte eine Datei im Binärmode einlesen und anschliessend überschreiben.
Klappt mit fopen(filename,"r+b") wunderbar, nur möcht ich die Datei auch kürzen.
Also Datei mit z.B. 5 kB
-öffen,
-komplett lesen und auswerten
-mit 2 kB von vorne neu beschreiben
-schliessen
Dummerweise wird die Datei dabei nicht kleiner, sondern
bleibt 5kB gross, d.h. ich hab danach in diesem Fall 3kB Restmüll in der Datei.
Frage:
Wie schreib ich ein EOF?
Geht das kürzen im binärmode überhaupt ohne zu schliessen und neu zu öffnen?
Gruß
MP
-
neue datei erstellen, 2kb reinschreiben. alte löschen. umbenennen. fettich.
-
- nur kürzen, ohne neuschreiben:
_chsize( int handle, long size );
an die ansi gurus: ja plattformabhängig.
-
vielen Dank für die schnelle Antwort
_chsize ist ein guter Tip, merk ich mir,
aber ich hab festgestellt das ich mit
f=freopen(filename,"wb",f);
für diesen Fall auch glücklich werd.
Gruß
MP