11.5. Terminologischer Rückblick
- Stream: Engl. Ausdruck für Datenstrom. Es handelt sich dabei um eine einheitliche Schnittstelle der Hochsprache C zu Dateien bzw. diversen Ein- und Ausgabegeräten. Streams fungieren als logische Geräte, die dem Programmierer die Auseinandersetzung mit den Eigenheiten unterschiedlicher Hardware abnehmen.
- Text-Streams: sind im Gegensatz zu binären Streams eine Folge von Zeichen. Bei ihnen können Übersetzungen einzelner Zeichen vorgenommen werden. Unter DOS wird '\n' in ASCII-10 plus ASCII-13 übersetzt. Bei Text-Streams muß demnach die Anzahl der gelesenen bzw. geschriebenen Zeichen nicht mit der Anzahl der Zeichen übereinstimmen, die sich tatsächlich in einer Datei befinden.
- Binäre Streams: Bei ihnen handelt es sich um "Byte"-Streams. Übersetzungen werden dort nicht vorgenommen.
- stdin ("Standard Input"): Einer der drei Standard-Streams, die automatisch beim Programmstart geöffnet werden. Programme nehmen, sofern nicht explizit ein anderer Input-Stream angesprochen wird, von dort ihre Eingaben entgegen. Im Normalfall ist er der Tastatur zugeordnet.
- stdout ("Standard Output"): Standardmäßige Ausgabeeinheit, i.a. der Bildschirm.
- stderr ("Standard Error"): spezifiziert das Ausgabegerät für Fehlermeldungen. Dies ist meist identisch mit jenem von stdout, kann auf den meisten Systemen aber unabhängig von stdout umgeleitet werden.
- FILE: Struktur, die Informationen für die Abwicklung von Datei-Operationen enthält und in stdio.h definiert wird. Ihre Zusammensetzung ist von System zu System verschieden, was den Programmierer aber nicht beeinträchtigt: Er spricht Dateien immer über Zeiger auf FILE an.
- EOF: Symbolische Konstante für das Dateiende-Zeichen. Sein Wert ist systemabhängig.
- Positionszeiger: Er ist Indikator für die Position, an der der nächste Lese- bzw. Schreibvorgang in einer Datei beginnen wird. Jeder Lese-/Schreibzugriff aktualisiert den Positionszeiger und setzt ihn auf die Position, bis zu der gelesen bzw. geschrieben wurde.
- FILENAME_MAX: Symbolische Konstante, die ebenfalls in stdio.h definiert wird. Sie repräsentiert den höchstmöglichen Wert für die Länge eines Dateinamens unter einem bestimmten System.
- Flag: Variable, die als Indikator dafür dient, ob eine bestimmte Bedingung oder ein bestimmter Programm-Zustand eingetreten ist. Mit ihrer Hilfe kann im Verlauf des (ganzen) Programms leicht festgestellt werden, ob eine bestimmte Option zu berücksichtigen ist oder nicht.
- Sequentieller Dateizugriff: ist typisch für unorganisierte Dateien. Nach dem Öffnen der Datei wird der Positionszeiger durch Lese- bzw. Schreib-Operationen so lange vorwärtsgeschoben, bis das Dateiende erreicht ist oder keine Daten mehr geschrieben werden sollen. Dieser Umgang mit Dateien kann mit der Funktionsweise eines Tonbandgerätes verglichen werden, bei dem ebenfalls das ganze Band so lange gespult werden muß, bis eine gewünschte Stelle erreicht ist.
- Wahlfreier Zugriff: Durch Neu-Orientierung des Positionszeigers kann auf beliebige Dateibereiche zugegriffen werden. Diese Form des Zugriffs ist typisch für Dateien, die einen gleichbleibenden, fest strukturierten Aufbau vorweisen können. Für Textdateien ist ein solcher Zugriff interessant, falls dafür eine Indexdatei erstellt wurde. Das Verfahren des wahlfreien Zugriffs ist mit der Funktionsweise einer Schallplatte vergleichbar, bei der jedes Musikstück sofort abspielbar ist.