Ein-/Ausgabe mit Dateien (Dateizugriff)
In den vorangegangenen Abschnitten haben wir uns ausführlich mit der
Standard-Eingabe und der Standard-Ausgabe in C++ beschäftigt. Es bietet
sich jedoch häufig an, Daten nicht auf dem Bildschirm auszugeben,
sondern in einer Datei abzulegen. Etwa, um die Daten zu sichern bzw. um
sie für ein anderes Programm oder eine andere Funktion verfügbar
zu machen. Ebenso wird man oft die benötigten Daten nicht über
die Tastatur eingeben, sondern aus einer externen Datei einlesen wollen.
In C++ stehen hierfür vordefinierte Klassen zur Verfügung.
Um diese Klassen für die Dateiein- bzw. -ausgabe benutzen zu können,
muß eine zusätzliche Deklarationsdatei eingebunden werden.
#include <iostream.h>
#include <fstream.h>
In dieser Datei befinden sich verschiedene File-Stream-Klassen, die
auf verschiedene Einsatzbereiche ausgelegt wurden:
-
Für Dateien, aus denen gelesen wird, gibt es die Klasse ifstream
(input file stream)
-
Für Dateien, in die geschrieben wird, existiert eine Klasse ofstream
(output file stream)
-
Für Dateien , die sowohl zum Lesen wie auch zum Schreiben eingesetzt
werden sollen, verwendet man die Klasse fstream (file stream)
Output bedeutet hier also -- analog zur Standardausgabe auf den Bildschirm --
nicht Ausgabe aus einer Datei, sondern Ausgabe in eine Datei.
Ob es sich bei einer zu öffnenden Datei um eine Datei zum Lesen bzw. zum Anhängen
weiterer Daten handelt, wird über spezielle Flags festgelegt.
Ein ofstream wird standardmäßig für den Schreibzugriff,
ein ifstream standardmäßig für den Lesezugriff
geöffnet.