Einführung
In diesem Lab lernst du, wie du Zeile für Zeile in einer Datei lesen und schreiben kannst, indem du die Programmiersprache C++ verwendest. Du wirst eine Datei erstellen, in sie schreiben und dann ihren Inhalt Zeile für Zeile lesen.
💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken
In diesem Lab lernst du, wie du Zeile für Zeile in einer Datei lesen und schreiben kannst, indem du die Programmiersprache C++ verwendest. Du wirst eine Datei erstellen, in sie schreiben und dann ihren Inhalt Zeile für Zeile lesen.
Erstelle in das Verzeichnis ~/project
eine C++-Datei namens file_io.cpp
. In diesem Schritt wirst du eine Datei namens example.txt
erstellen und öffnen.
#include <fstream>
int main() {
// Creating and opening a file
std::ofstream ofs;
ofs.open("example.txt", std::ofstream::out | std::ofstream::trunc);
ofs.close();
return 0;
}
Erklärung:
ofstream
ist eine Klasse zum Schreiben in Dateien.ofs
ist ein Objekt der Klasse ofstream
.open()
-Methode wird verwendet, um eine Datei zu erstellen und zu öffnen.open()
-Methode ist der erste Parameter der Name der zu erstellenden Datei, und der zweite Parameter gibt die Art der Öffnung an. Hierbei gibt out
an, dass die Datei zum Schreiben geöffnet wird, und trunc
gibt an, dass die Datei, falls sie bereits existiert, geleert werden soll.In diesem Schritt wirst du in die Datei example.txt
schreiben.
#include <fstream>
#include <iostream>
#include <string>
int main() {
std::ofstream ofs;
ofs.open("example.txt", std::ofstream::out | std::ofstream::trunc);
if (ofs.is_open()) {
std::cout << "Geben Sie den Text ein, der in die Datei geschrieben werden soll (Leere Zeile eingeben, um zu beenden):" << std::endl;
std::string line;
do {
std::getline(std::cin, line);
if (line.length()) {
ofs << line << std::endl;
}
} while (line.length());
ofs.close();
} else {
std::cerr << "Fehler beim Öffnen der Datei" << std::endl;
}
return 0;
}
Erklärung:
std::cout
wird verwendet, um eine Nachricht auf der Konsole anzuzeigen, die den Benutzer auffordert, den Text einzugeben, der in die Datei geschrieben werden soll.std::getline()
wird verwendet, um die Benutzereingabe Zeile für Zeile zu lesen und in der line
-Variable zu speichern.if (line.length())
wird verwendet, um zu überprüfen, ob der Benutzer irgendeinen Text eingegeben hat oder nicht. Wenn der Benutzer keinen Text eingegeben hat, wird die Schleife beendet.ofs << line << std::endl;
wird verwendet, um die Benutzereingabe in die Datei gefolgt von einem Zeilenumbruchzeichen zu schreiben.std::cerr
wird verwendet, um eine Fehlermeldung auf der Konsole anzuzeigen, wenn die Datei nicht geöffnet werden kann.Um dieses Programm auszuführen, gehe in das Verzeichnis ~/project
und führe den folgenden Befehl aus:
g++ file_io.cpp -o file_io && ./file_io
Dieses Programm wird den Benutzer auffordern, den Text einzugeben, der in die Datei geschrieben werden soll, und schreibt dann die Benutzereingabe in die Datei.
In diesem Schritt wirst du den Inhalt der Datei example.txt
lesen.
#include <fstream>
#include <iostream>
#include <string>
int main() {
std::ifstream ifs;
ifs.open("example.txt");
if (ifs.is_open()) {
std::cout << "Inhalt der Datei:" << std::endl;
std::string line;
while (std::getline(ifs, line)) {
std::cout << line << std::endl;
}
ifs.close();
} else {
std::cerr << "Fehler beim Öffnen der Datei" << std::endl;
}
return 0;
}
Erklärung:
std::ifstream
ist eine Klasse zum Lesen aus Dateien.ifs
ist ein Objekt der Klasse ifstream
.open()
-Methode wird verwendet, um eine vorhandene Datei zu öffnen.open()
-Methode ist der Parameter der Name der zu öffnenden Datei.std::cout
wird verwendet, um eine Nachricht auf der Konsole anzuzeigen, die angibt, dass der Inhalt der Datei angezeigt wird.std::getline()
wird verwendet, um den Inhalt der Datei Zeile für Zeile zu lesen und in der line
-Variable zu speichern.std::cout << line << std::endl;
wird verwendet, um den Inhalt der Datei Zeile für Zeile auf der Konsole anzuzeigen.Um dieses Programm auszuführen, gehe in das Verzeichnis ~/project
und führe den folgenden Befehl aus:
g++ file_io.cpp -o file_io && ./file_io
Dieses Programm wird den Inhalt der Datei example.txt
auf der Konsole anzeigen.
In diesem Lab hast du gelernt, wie du mit der Programmiersprache C++ eine Datei erstellen, in sie schreiben und aus ihr lesen kannst. Du hast gelernt, wie du die Klassen ofstream
und ifstream
verwenden kannst, um jeweils in eine Datei zu schreiben und aus ihr zu lesen. Du hast auch gelernt, wie du die open()
-Methode verwendest, um eine Datei zu erstellen und zu öffnen, und die getline()
-Methode, um den Inhalt einer Datei Zeile für Zeile zu lesen.