fseek probleme!!
-
Hallo zusammen!
Ich möchte ganz gerne ab einem bestimmten Bereich einer Datei die Zeichen erstzen!FILE* datei; datei=fopen("datei.txt","a"); int pos; pos = fseek(datei, 67, SEEK_END) fprintf(datei, "hallo"); fclose(datei);Ich möchte also ab dem 67 Zeichen bis zum Ende der Datei das Wort "hallo" eingefügt haben!! Er fügt es aber ans Ende zu!
Was mache ich falsch?? Wie kann ich denn die Startposition für das Schreiben eingeben?? Für Hilfe wäre ich euch sehr dankbar!
Liebe Grüße
Alexander
-
Du springst an eine Position, die 67 Zeichen hinter dem Dateiende liegt (bzw. versuchst es). Um eine Position 67 Zeichen vor dem Ende anzuspringen, mußt du
fseek(datei,-67,SEEK_END);angeben.
-
Vielen Dank CStoll!
Kannst du mir vielleicht verraten, wie in ab dieser Position auch schreiben kann?? Er fügt es nämlich wieder ans Ende zu!Danke!
Alexander
-
*genauer hinsieht* Indem du die Datei im Modus "r+" öffnest ("a" steht für 'append' und bewirkt, daß ALLES ans Dateiende geschriebben wird).
PS: Übrigens solltest du lieber std::fstream's verwenden
