C++-Bibliothek für Dateieingabe/-ausgabe - <fstream>

In C++, <fstream>ist eine Klasse in der Standardbibliothek für Datei-Ein-/Ausgabeoperationen. Sie bietet eine praktische Möglichkeit, Dateien zu lesen und zu schreiben.

fstreamJaiostreamTeil der Bibliothek, der das Lesen und Schreiben von Text- und Binärdateien unterstützt.

fstreamDie Klasse istiostreamEine Klasse in der Bibliothek, die erbt vonistreamundostreamKlasse, was bedeutet, dass sie sowohl für Eingabe als auch für Ausgabe verwendet werden kann.

Syntax

fstreamDie grundlegende Syntax lautet wie folgt:

#include <fstream>

int main() {
    std::fstream file; // fstream-Objekt erstellen
    file.open("filename", mode); // Datei öffnen
    // Dateioperationen ausführen
    file.close(); // Datei schließen
    return 0;
}

wobeifilenameist der Name der Datei,modeist der Modus zum Öffnen von Dateien, gängige Modi umfassen:

  • std::ios::in: Öffnet die Datei im Eingabemodus.
  • std::ios::out: Öffnet die Datei im Ausgabemodus.
  • std::ios::app: Öffnet die Datei im Anhängemodus.
  • std::ios::ate: Öffnet die Datei und positioniert sich am Ende der Datei.
  • std::ios::trunc: öffnet die Datei und kürzt sie, d. h. leert den Dateiinhalt.

Beispiel

In eine Textdatei schreiben:

Beispiel

#include <fstream>
#include <iostream>

int main() {
    std::fstream file;
    file.open("example.txt", std::ios::out); // Datei im Ausgabemodus öffnen

    if (!file) {
        std::cerr << "Datei kann nicht geöffnet werden!" << std::endl;
        return 1; // Datei konnte nicht geöffnet werden
    }

    file << "Hallo, Welt!" << std::endl; // Text schreiben
    file.close(); // Datei schließen

    return 0;
}

Erstelle eine Datei mit Namen im aktuellen Verzeichnisexample.txtfile, der Dateiinhalt ist:

Hello, World!

Eine Textdatei lesen

Beispiel

#include <fstream>
#include <iostream>
#include <string>

int main() {
    std::fstream file;
    file.open("example.txt", std::ios::in); // Datei im Eingabemodus öffnen

    if (!file) {
        std::cerr << "Datei kann nicht geöffnet werden!" << std::endl;
        return 1; // Datei konnte nicht geöffnet werden
    }

    std::string line;
    while (getline(file, line)) { // Zeile für Zeile lesen
        std::cout << line << std::endl;
    }

    file.close(); // Datei schließen

    return 0;
}

ifexample.txtDie Datei enthält den folgenden Inhalt:

Hello, World!
This is a test file.

dann wird das Programm Folgendes ausgeben:

Hello, World!
This is a test file.

An eine Datei anhängen:

Beispiel

#include <fstream>
#include <iostream>

int main() {
    std::fstream file;
    file.open("example.txt", std::ios::app); // Datei im Anhängemodus öffnen

    if (!file) {
        std::cerr << "Datei kann nicht geöffnet werden!" << std::endl;
        return 1; // Datei konnte nicht geöffnet werden
    }

    file << "Diese Zeile an die Datei anhängen." << std::endl; // Text anhängen
    file.close(); // Datei schließen

    return 0;
}

example.txtDie Datei enthielt ursprünglich den folgenden Inhalt:

Hello, World!
This is a test file.

Nach Ausführung des obigen Programms wird der Dateiinhalt zu Folgendem:

Hello, World!
This is a test file.
Appending this line to the file.
Weitere Erweiterungen