Thomas Schmieder: In Datei schreiben

Beitrag lesen

Halli Christoph,
Hallo Philipp,

Öm. Wahrscheinlich, weil r+ für _Read_ steht und nicht für Write. Versuchs mal mit

fopen("datei.txt", "w+");

Aua!
Dann sind die Daten weg.

r+ öffnet eine Datei zum Lesen und Schreiben, sezt den Dateizeiger auf den Anfang der Datei (vor das erste Byte).

w+ legt eine Datei zum Schreiben und Lesen an. Wenn sie schon vorhanden ist, wird ihr Inhalt gelöscht. Der Dateizeiger steht daher gleichermaßen am Ende und am Anfang der Datei. Das haben leere Dateien so an sich.

a+ öffnet eine Datei zum Anfügen. Wenn sie nicht vorhanden ist, wird sie angelegt. Vorhandene Daten bleiben erhalten. Der Dateizeiger steht hinter dem Ende der Datei, also auf dem ersten neuen Byte.

Viele Grüsse

Tom