💾 1. RAII-basierte Dateiverarbeitung
In C++ nutzt man für Dateizugriffe die Klassen std::ifstream (Input) und std::ofstream (Output) aus dem Header <fstream>. Da Dateihandles echte OS-Ressourcen sind, sorgt RAII dafür, dass Dateien beim Verlassen des Scopes automatisch geschlossen und Schreibpuffer geflusht werden.
Ein Stream ist wie ein Förderband zwischen Festplatte und RAM. << legt Daten formatiert auf das Band, >> nimmt sie herunter. Im Binärmodus wird das Paket nicht ausgepackt, sondern als versiegelte Kiste (Byte-Block) am Stück transportiert.
⚡ 2. C / C++ Quick-Cheat-Sheet
| Syntax / Anweisung | Bedeutung & Funktion |
|---|---|
std::ofstream out(pfad); | Öffnet eine Datei zum Schreiben; erzeugt die Datei falls nicht existent. |
if (!out.is_open()) return false; | Prüft, ob Dateipfad und Zugriffsrechte gültig sind. |
std::getline(in, zeile); | Liest eine komplette Textzeile bis zum Newline-Zeichen ein. |
in.read(reinterpret_cast<char*>(&data), size); | Unformatierter Binär-Lesezugriff auf Rohbytes. |
⚠️ 3. Häufige Stolperfallen & Anti-Patterns
Schreib- und Leseoperationen scheitern stillschweigend, wenn die Datei nicht geöffnet werden konnte (z.B. fehlende Schreibrechte). Prüfe immer is_open()!
Wird eine Binärdatei im Standard-Textmodus geöffnet, wandelt die C++ Runtime unter Windows \r\n in \n um – binäre Bild- oder Archivdateien werden dadurch unbrauchbar beschädigt! Öffne Binärdateien stets mit std::ios::binary.
🧠 Diagnostischer Selbst-Check
Überprüfe dein Verständnis zu Speichersicherheit, Syntax und Systems-Design mit gezieltem Feedback: