Grundlagen für das Projekt (Teil 1)



3. FSTREAM: Textdateien lesen und schreiben

3.2. Text an Dateien anhängen

Worum geht es? 

Im letzten Beispiel hast du den Schreibzugriff auf Dateien bereits kennen gelernt. Bei der dort gewählten Zugriffsart würden allerdings vorhandenen Inhalte überschrieben werden. 

Wenn du aber gespeicherte Inhalte erhalten möchtest (z.B. beim Erzeugen von Messprotokollen), dann ist es sinnvoll, neue Inhalte ans Ende der Datei anzuhängen. Wie das funktioniert, zeigt dieses Beispiel. 

Was kannst du danach?

  • Text an existierende Dateien anhängen.


#include <string>
#include <iostream>
#include <fstream> // File-Stream

using namespace std;

int main()
{
    // Text in Datei schreiben
    std::ofstream schreiben{"datei1.txt"};
    schreiben << "Dies ist Zeile 1" << endl;
    schreiben << "Dies ist Zeile " << 2 << endl;

    // Text anhängen (engl. 'append')
    schreiben.close(); // Datei schließen
    schreiben.open("datei1.txt", std::ios::app);
    if (!schreiben) // Auf Fehler prüfen
    {
        // Versuchsweise 'open' auskommentieren
        std::cerr << "Datei nicht geöffnet!n";
        return 1; // Programm mit Fehler beenden
    }
    schreiben << "Dies ist Zeile 3" << endl;    
    
    // Text zur Kontrolle aus Datei lesen
    std::ifstream lesen{"datei1.txt"};
    while (lesen)
    {
        std::string text;
        //lesen >> text; // Trennzeichen = " "
        std::getline(lesen, text); //  = "\n"
        std::cout << text << endl;
    }
    
    return 0; 
}
Da du dir den Inhalt der erzeugten Datei nicht in deinem Web-Browser ansehen kannst, wird im Anschluss an das Schreiben der Inhalt mit dem Code aus dem letzten Beispiel ausgegeben.