Dateiende
-
Wie kann ich ein neues Dateiende bei einer geöffneten Datei setzen?
-
Wie meinst du das?
Willst du z.B. eine Datei der Länge n auf die Länge 2n setzen?. Kannst du, aber nur wenn du nach der "Verlängerung" auch noch etwas in die Datei schreibst. (Es ensteht in diesem Fall eine Lücke mit undefiniertem Inhalt)...Wenn ja, dann so:
... fstream f("testin.txt", ios::in|ios::out|ios::binary); f.seekp(0L, ios::end); long p_o = f.tellp(); f.seekp(p_o, ios::end); // sollte jetzt doppelt so lang sein, wie ursprünglich. // ... jetzt noch was hineinschreiben... ansonsten wird wieder die ursprüngliche // Länge (in Bytes) der Datei beibehalten. .../edit: [...]
Caipi
-
thx
aber wie verkütze ich die Datei z.B um einen Satz?
-
soweit ich weiß geht das mit ansi-c/c++-funktionen nicht! du mußt also auf die funktionen deines betriebssystems zurückgreifen. das kann allerdings haarig werden, wenn dein programm ansi-c/c++-files benutzt, da du die bertiebssystemfunktionen darauf normalerweise garnicht oder nur über umwege anwenden kannst...