Geschrieben von rscheyerle am 22.12.2004, 10:01

Als erstes wird ein Pointer vom Typ FILE benötigt um der Datei im RAM eine Adresse zuweisen zu können von der aus mit C zugegriffen werden kann. Es empfiehlt sich den File-Pointer mit NULL zu initialisieren und wieder mit NULL zu belegen wenn die Datei geschlossen wurde!

Deklaration des File-Pointers "fDatei"
FILE* fDatei;

Initialisierung mit NULL:
fDatei = NULL

Das öffnen der Datei findet mit fopen statt. Diese Funktion erfordert als Parameter den Dateinamen und den Öffnungsmodus und liefert als Rückgabewert den Pointer auf den Anfang der Datei im RAM bzw. NULL wenn die Datei nicht geöffnet werden konnte.

FILE *fopen(const char *fname, const char *mode);

Wenn also die Datei "test.txt" zum Schreiben und lesen geöffnet werden soll ist folgender Befehl notwendig:

fDatei = fopen("test.txt", "r+");

Die verschiendenen Öffnungsmöglichkeiten lauten:
r - Öffnen der Datei zum Lesen
w - Anlegen einer Datei zum Schreiben
a - Öffnen der Datei zum Schreiben am Ende der Datei bzw. automatisches Anlegen der Datei
r+ - Öffnen einer existierenden Datei zum Lesen und Schreiben
w+ - Anlegen einer neuen Datei zum Schreiben und Lesen (ist die Datei schon vorhanden wird sie überschrieben)
a+ - Öffnen einer Datei zum Lesen und Schreiben am Ende der Datei bzw. Anlegen wenn Sie noch nicht vorhanden ist.

Mit fprintf lasen sich nun Strings in die Datei schreiben:

fprintf(fDatei, "Test");

und mit fscanf kann man aus der Datei lesen. Allerdings muss zuerst nach dem Schreiben der Pointer wieder mit fseek auf den Anfang gesetzt werden.

fseek(fDatei, 0, SEEK_SET)

0 ist hier die Anzahl der Zeilen.
SEEK_SET ist der Anfang der Datei.

Außerdem gibt es noch SEEK_CUR - Aktuelle Zeile
und SEEK_END - Ende der Datei.

Nun noch auslesen:

fscanf(fDatei, "%s", chName);

%s ist hier das Format der Zeile die ausgelesen wird und chName das Char-Array in dem der String gespeichert wird.

Nun noch das Schließen der Datei:

fclose(fDatei);

FERTIG!

Nicht vergessen fDatei wieder NULL zuzuweisen.... sonst kanns zu Fehlern kommen!

Bewertung Anzahl
5
33,3 %
1 Bewertungen
4
66,7 %
2 Bewertungen