Ein- und Ausgabe mit Dateien

Beispielprogramm: DSTROM.CPP

Das Programm DSTROM.CPP ist ein Beispiel für die Verwendung von Datenströmen mit Dateien. Wir werden in diesem Programm einige C++ Objekte verwenden, die wir noch nicht kennen, Du wirst sie also jetzt noch nicht vollkommen verstehen.

In diesem Programm öffnen wir eine Datei zum Lesen, eine andere zum Schreiben und ein dritter Datenstrom wird zu einem Drucker geöffnet, um das Hantieren mit Dateien zu demonstrieren. In C haben Dateien sowohl zur Eingabe als auch zur Ausgabe den Typ FILE, allerdings wird ifstream für Einlesen aus Dateien verwendet, ofstream zum Schreiben. Das wird in den Zeilen 7 bis 9 dieses Beispielprogrammes demonstriert. Eigentlich ist ifstream eine C++ Klasse und EingDatei ein Objekt dieser Klasse, wie wir später sehen werden.

Der einzige Unterschied zwischen den Datenströmen des letzten Programmes und jenen dieses Beispielprogrammes besteht darin, daß die Datenströme im vorigen Programm schon vom System für uns geöffnet wurden. Du wirst sicherlich bemerken, daß der Datenstrom Drucker genau in derselben Weise verwendet wird wie cout im letzten Programm. Natürlich schließen wir alle Dateien, die wir geöffnet haben, wieder. Schließlich wollen wir guten Programmierstil praktizieren.

In diesem Programm verwenden wir Objekte, also ist es das erste Beispiel für objektorientiertes Programmieren. Das Objekt mit dem Namen EingDatei weisen wir in Zeile 16 an, sich selbst zu öffnen. In Zeile 40 soll es dann ein Zeichen nach dem anderen einlesen, in Zeile 47 steht die Anweisung, sich selbst wieder zu schließen. Die "Punkt"-Notation wird für Objekte ähnlich verwendet wie für Strukturen in C. Man gibt den Namen des Objektes an, gefolgt von einem "Punkt" und schließlich von der Aktion, die das Objekt ausführen soll. Mit den Objekten AusgDatei und Drucker wird in genau derselben Weise verfahren.

Bjarne Stroustrups Buch bietet mehr und tiefergreifende Informationen über die stream Bibliothek, ebenso wie die Dokumentation zu Deinem Compiler. Mach Dir aber jetzt noch nicht zu viele Gedanken darüber. Wenn Du nämlich die Terminologie der Sprache C++ im Laufe dieser Einführung einemal gelernt hast, kannst Du Dich einem eingehenderen Studium der stream Bibliothek widmen, von dem Du dann sicherlich sehr profitierst.

Kompiliere dieses Programm und führe es aus. Es wird eine Datei verlangen, die es kopieren soll. Du kannst den Namen jeder ASCII Datei angeben, die sich in demselben Verzeichnis befindet wie das Programm.

(weiter...)