0Pricing
C++ Academy · Lektion

Dateien mit ofstream schreiben

Ausgabedateien schreiben

Dateien mit ofstream schreiben ist eine kostenlose C++ Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C++ Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C++ Academy-Kurs umfasst insgesamt 4 Lektionen.

Was ist ofstream?

std::ofstream (Ausgabedateistream) schreibt Daten in Dateien. Es funktioniert wie std::cout, aber sein Ziel ist eine Datei.

#include <iostream>
#include <fstream>

int main() {
    std::ofstream out("hello.txt");
    out << "Hello, file!\n";
    std::cout << "wrote file\n";
    return 0;
}

Text schreiben

Verwenden Sie den Operator <<, um Strings und Zahlen zu schreiben, genau wie bei der Ausgabe auf der Konsole.

#include <iostream>
#include <fstream>

int main() {
    std::ofstream out("report.txt");
    out << "Score: " << 95 << '\n';
    out << "Grade: A\n";
    std::cout << "done\n";
    return 0;
}

Standardmäßig leeren

Das Öffnen einer vorhandenen Datei mit ofstream löscht ihren bisherigen Inhalt. Jeder Durchlauf beginnt mit einer leeren Datei.

#include <iostream>
#include <fstream>

int main() {
    std::ofstream("t.txt") << "old content\n";
    std::ofstream out("t.txt");
    out << "new content\n";
    std::ifstream in("t.txt");
    std::string line; std::getline(in, line);
    std::cout << line << '\n';
    return 0;
}

Mit dem Modus app anhängen

Übergeben Sie std::ios::app, um den vorhandenen Inhalt beizubehalten und neue Daten am Ende hinzuzufügen.

#include <iostream>
#include <fstream>

int main() {
    std::ofstream("log.txt") << "line1\n";
    std::ofstream out("log.txt", std::ios::app);
    out << "line2\n";
    out.close();
    std::ifstream in("log.txt");
    std::string l; int n = 0;
    while (std::getline(in, l)) ++n;
    std::cout << n << " lines\n";
    return 0;
}

Prüfen, ob das Schreiben erfolgreich war

Prüfen Sie den Stream nach dem Öffnen. Befindet er sich in einem Fehlerzustand, schlägt das Schreiben still und ohne Meldung fehl.

#include <iostream>
#include <fstream>

int main() {
    std::ofstream out("ok.txt");
    if (!out) {
        std::cout << "failed to open\n";
        return 1;
    }
    out << "safe write\n";
    std::cout << "write ok\n";
    return 0;
}

Zahlen schreiben und formatieren

E/A-Manipulatoren wie std::fixed und std::setprecision können auch auf Dateistreams angewendet werden.

#include <iostream>
#include <fstream>
#include <iomanip>

int main() {
    std::ofstream out("pi.txt");
    out << std::fixed << std::setprecision(3) << 3.14159 << '\n';
    out.close();
    std::ifstream in("pi.txt");
    std::string s; in >> s;
    std::cout << s << '\n';
    return 0;
}

Eine Datenfolge in einer Schleife schreiben

Schreiben Sie viele Zeilen in einer Schleife. Jede Iteration sendet einen Datensatz an die Datei.

#include <iostream>
#include <fstream>

int main() {
    std::ofstream out("squares.txt");
    for (int i = 1; i <= 5; ++i) out << i << ' ' << i * i << '\n';
    out.close();
    std::cout << "wrote 5 rows\n";
    return 0;
}

Den Puffer leeren

Die Ausgabe wird gepuffert. std::flush oder std::endl schreibt den Puffer sofort auf den Datenträger; auch das Schließen leert den Puffer.

#include <iostream>
#include <fstream>

int main() {
    std::ofstream out("flush.txt");
    out << "important" << std::flush;
    std::cout << "flushed to disk\n";
    return 0;
}

endl vs. Zeilenumbruch

'\n' fügt lediglich einen Zeilenumbruch hinzu. std::endl fügt einen Zeilenumbruch hinzu und leert den Puffer, was in engen Schleifen langsamer ist.

#include <iostream>
#include <fstream>

int main() {
    std::ofstream out("nl.txt");
    out << "fast\n";          // newline only
    out << "slow" << std::endl; // newline + flush
    std::cout << "both written\n";
    return 0;
}

Schreiben und anschließend lesen

Ein häufiges Muster: Daten schreiben, die Datei schließen und anschließend zum erneuten Lesen öffnen.

#include <iostream>
#include <fstream>

int main() {
    {
        std::ofstream out("rt.txt");
        out << 7 << ' ' << 8 << '\n';
    }
    std::ifstream in("rt.txt");
    int a, b; in >> a >> b;
    std::cout << a + b << '\n';
    return 0;
}

Öffnungsmodi auswählen

Kombinieren Sie Flags mit |. Häufige Modi: ios::out (Standard), ios::app (Anhängen), ios::trunc (Löschen).

#include <iostream>
#include <fstream>

int main() {
    std::ofstream out("modes.txt", std::ios::out | std::ios::trunc);
    out << "fresh\n";
    std::cout << "opened with explicit modes\n";
    return 0;
}

Kurztest

Testen Sie Ihr Verständnis der ofstream-Modi.

Zusammenfassung

Sie haben gelernt, dass std::ofstream:

  • mit << schreibt und den Inhalt standardmäßig leert
  • mit std::ios::app Daten anhängt
  • die Ausgabe puffert; std::flush/std::endl/das Schließen sie auf den Datenträger schreiben

Als Nächstes verarbeiten Sie rohe Bytes mit binärer Datei-E/A.

Häufig gestellte Fragen

Ist die Lektion „Dateien mit ofstream schreiben“ kostenlos?

Ja — der vollständige Text von „Dateien mit ofstream schreiben“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C++ Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C++ Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Dateien mit ofstream schreiben“?

Ausgabedateien schreiben Du übst C++ Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um C++ Academy zu starten?

Keine Vorkenntnisse erforderlich. C++ Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Dateien mit ofstream schreiben“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser C++ Academy-Lektion Code schreiben und ausführen?

Ja. Jede C++ Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Dateien mit ifstream lesen
  2. Dateien mit ofstream schreiben
  3. Binäre Datei-Ein-/Ausgabe
  4. Fehlerbehandlung und Zustand
← Zurück zu C++ Academy