1 Theorie | |
→ | 1.2 Häufig auftretende Problemstellungen |
Binärdateien |
Textdateien |
Binär- und Textdateien unter Windows |
Binär- und Textdateien unter Unix/Linux |
Gepufferte und ungepufferte Ein-/Ausgabe |
Binärdateien speichern Daten direkt so, wie sie im Hauptspeicher
des Computers vorliegen. Dies ermöglicht eine kompakte
Datenspeicherung, Binärdateien sind meist kleiner als Textdateien
mit gleichem Informationsgehalt.
Allerdings können Binärdateien nicht mit einem Texteditor
bearbeitet werden.
Binärdateien sind auch nicht notwendigerweise zwischen
verschiedenen Computersystemen kompatibel.
Textdateien sind meist größer. Bei Bedarf können die Daten mit einem Texteditor eingesehen bzw. bearbeitet werden.
Unter Windows wird für jedes Zeilenende eine Sequenz von 2
Zeichen verwendet (Wagenrücklauf und Zeilenvorschub, noch aus
Fernschreiber- und Schreibmaschinen-Zeiten). Schreibt ein
C-Programm Text, wird jedes vom C-Programm geschriebene
Newline-Zeichen automatisch in diese 2-Zeichen-Sequenz umgewandelt,
beim Lesen von Text erfolgt die automatische Rückwandlung.
Für Binärdaten darf diese Umwandlung nicht erfolgen, da sie die
Daten verfälschen würden.
Deshalb muss bereits beim Öffnen einer Datei — egal ob zum Lesen
oder Schreiben — angegeben werden, ob die Datei binär oder als Text
behandelt werden soll.
Unter Unix/Linux wird als Zeilenwechsel ein Zeichen verwendet
(Newline, Zeilenvorschub). Beim Öffnen einer Datei muss nicht
zwischen Binär- und Textdateien unterschieden werden, beide werden
gleich behandelt.
Die Angabe, dass eine Datei im Binärmode geöffnet werden soll, kann
optional erfolgen. Es ist ratsam, den Binärmode explizit mit
anzugeben, damit derselbe Quelltext unter Windows und Unix/Linux
genutzt werden kann.
Sowohl unter Windows als auch unter Unix/Linux stehen zwei grundlegende Mechanismen für Ein-/Ausgabe zur Verfügung: