C++

So lesen und schreiben Sie eine Datei in C++

So lesen und schreiben Sie eine Datei in C++

In diesem Artikel zeigen wir Ihnen anhand mehrerer Beispiele, wie Sie eine Datei in der Programmiersprache C++ lesen und schreiben können. Um C++-Dateioperationen wie Lesen und Schreiben zu verstehen, müssen wir zuerst das Konzept eines Streams in C verstehen++.

Was ist ein Stream?

Ein Stream ist einfach ein Fluss von Daten oder Zeichen. Es gibt zwei Arten von Streams: Eingabestreams und Ausgabestreams. Ein Eingabestream wird verwendet, um die Daten von einem externen Eingabegerät wie einer Tastatur zu lesen, während ein Ausgabestream verwendet wird, um Daten auf ein externes Ausgabegerät wie einen Monitor zu schreiben. Eine Datei kann sowohl als Eingabe- als auch als Ausgabequelle betrachtet werden.

In C++ verwenden wir einen Stream, um Daten an oder von einer externen Quelle zu senden oder zu empfangen.

Wir können eingebaute Klassen verwenden, um auf einen Eingabe-/Ausgabestrom zuzugreifen, d. h.e., "ios".

Hier ist die Stream-Klassenhierarchie der Programmiersprache C++:

Die Objekte „cin“ und „cout“ werden verwendet, um die Daten von der Tastatur zu lesen bzw. die Ausgabe auf dem Monitor anzuzeigen. Darüber hinaus wird „ifstream“, was für „input file stream“ steht, verwendet, um einen Datenstrom aus einer Datei zu lesen, und „ofstream“, was für „output file stream“ steht, wird verwendet, um einen Datenstrom zu schreiben in eine Datei.

Das „Iostram“.h“-Datei enthält alle erforderlichen Standard-Ein-/Ausgabe-Stream-Klassen in der Programmiersprache C++.

Beispiele

Nachdem Sie nun die Grundlagen von Streams verstanden haben, besprechen wir die folgenden Beispiele, die Ihnen helfen, Dateioperationen in C++ besser zu verstehen:

Beispiel 1: Öffnen und Schließen einer Datei

In diesem Beispielprogramm zeigen wir, wie man eine Datei öffnet/erstellt und wie man die Datei in C . schließt++. Wie Sie im folgenden Programm sehen können, haben wir die für Dateioperationen erforderliche Bibliothek hinzugefügt. included.

Um eine Datei zu öffnen und zu schließen, benötigen wir ein Objekt von ofstream. Um dann eine Datei zu lesen oder zu schreiben, müssen wir die Datei öffnen. Wir haben die fstream-Header-Datei in Zeile 1 eingefügt, damit wir auf die ofstream-Klasse zugreifen können.

Wir haben einen myFile_Handler als Objekt von ofstream innerhalb der Hauptfunktion deklariert. Wir können dann die Funktion open() verwenden, um eine leere Datei zu erstellen, und die Funktion close(), um die Datei zu schließen.

#einschließen
Verwenden von Namespace-Std;
int main()

ofstream myFile_Handler;
// Datei öffnen
myFile_Handler.open("Datei_1.TXT");
// Datei schließen
myFile_Handler.schließen();
0 zurückgeben;

Nun kompilieren wir das Programm und untersuchen die Ausgabe. Wie Sie im Ausgabefenster unten sehen können, ist die Datei „Datei_1“.txt“-Datei wurde nach dem Ausführen des Programms erstellt. Die Dateigröße ist null, da wir keinen Inhalt in die Datei geschrieben haben.

Beispiel 2: In eine Datei schreiben

Im vorherigen Beispielprogramm haben wir Ihnen gezeigt, wie Sie eine Datei öffnen und wie Sie die Datei schließen. Jetzt zeigen wir Ihnen, wie Sie etwas in eine Datei schreiben.

Wir können mit dem Stream-Einfügungsoperator in eine Datei schreiben, d. h.e., “<<”. In this program, we have used the file handler and insertion operator to write two lines in the file. The insertion operator (“<<”) indicates that we are inserting the string into the output file stream object.

#einschließen
Verwenden von Namespace-Std;
int main()

ofstream myFile_Handler;
// Datei öffnen
myFile_Handler.open("Datei_1.TXT");
// In die Datei schreiben
myFile_Handler << "This is a sample test File. " << endl;
myFile_Handler << "This is the second line of the file. " << endl;
// Datei schließen
myFile_Handler.schließen();
0 zurückgeben;

Nun kompilieren wir das obige Programm und führen es aus. Wie Sie unten sehen können, haben wir erfolgreich in die Datei File_1 geschrieben.TXT.

Beispiel 3: Aus einer Datei lesen

In den vorherigen Beispielen haben wir Ihnen gezeigt, wie Sie Inhalte in eine Datei schreiben. Lassen Sie uns nun den Inhalt aus der Datei lesen, die wir in Beispiel 2 erstellt haben, und den Inhalt auf dem Standardausgabegerät anzeigen, d. h.e., der Monitor.

Wir verwenden die Funktion getline(), um die komplette Zeile aus der Datei zu lesen und dann „cout“, um die Zeile auf dem Monitor auszugeben.

#einschließen
#einschließen
#einschließen
Verwenden von Namespace-Std;
int main()

ifstream myFile_Handler;
string myLine;
// Datei im Lesemodus öffnen
myFile_Handler.open("Datei_1.TXT");
if(myFile_Handler.ist offen())

// Lesen Sie die Datei weiter
while(getline(myFile_Handler, myLine))

// drucke die Zeile auf der Standardausgabe
cout << myLine << endl;

// Datei schließen
myFile_Handler.schließen();

sonst

cout << "Unable to open the file!";

0 zurückgeben;

Jetzt drucken wir den Inhalt von File_1.txt mit dem folgenden Befehl:  cat File_1.TXT. Sobald wir das Programm kompiliert und ausgeführt haben, ist klar, dass die Ausgabe mit dem Inhalt der Datei übereinstimmt. Daher haben wir die Datei erfolgreich gelesen und den Inhalt der Datei auf den Monitor gedruckt.

Beispiel 4: Lesen und Schreiben in eine Datei

Bisher haben wir Ihnen gezeigt, wie Sie eine Datei öffnen, lesen, schreiben und schließen können. In C++ können wir auch gleichzeitig in eine Datei lesen und schreiben. Um eine Datei sowohl zu lesen als auch in eine Datei zu schreiben, müssen wir ein fstream-Objekt abrufen und die Datei im „ios::in“- und „ios::out“-Modus öffnen.

In diesem Beispiel schreiben wir zuerst etwas Inhalt in die Datei. Dann lesen wir die Daten aus der Datei und drucken sie auf den Monitor.

#einschließen
#einschließen
#einschließen
Verwenden von Namespace-Std;
int main()

fstream myFile_Handler;
string myLine;
// Datei öffnen
myFile_Handler.open("Datei_1.txt", ios::in | ios::out);
// Überprüfen Sie, ob die Datei geöffnet wurde
wenn(!myFile_Handler)

cout << "File did not open!";
Ausgang(1);

// In die Datei schreiben
myFile_Handler << "1. This is another sample test File. " << endl;
myFile_Handler << "2. This is the second line of the file. " << endl;
myFile_Handler.suchg(ios::beg);
// Datei lesen
if(myFile_Handler.ist offen())

// Lesen Sie die Datei weiter
while( getline(myFile_Handler, myLine))

// drucke die Zeile auf der Standardausgabe
cout << myLine << endl;

// Datei schließen
myFile_Handler.schließen();

sonst

cout << "Unable to open the file!";

myFile_Handler.schließen();
0 zurückgeben;

Jetzt werden wir das Programm kompilieren und ausführen.

Beispiel 5: Lesen und Schreiben in eine Binärdatei

In diesem Beispiel werden wir eine Klasse deklarieren und dann das Objekt in eine Binärdatei schreiben. Um dieses Beispiel zu vereinfachen, haben wir die Employee-Klasse mit einer öffentlichen Variable emp_id deklariert. Dann lesen wir die Binärdatei und drucken die Ausgabe auf dem Monitor.

#einschließen
#einschließen
Verwenden von Namespace-Std;
Klasse Mitarbeiter

Öffentlichkeit:
int emp_id;
;
int main()

ofstream binOutFile_Handler;
ifstream binInFile_Handler;
Mitarbeiter empObj_W, empObj_R;
// Datei öffnen
binOutFile_Handler.open("Mitarbeiter.dat", ios::out | ios::binär);
// Überprüfen Sie, ob die Datei geöffnet wurde
wenn(!binOutFile_Handler)

cout << "File did not open!";
Ausgang(1);

// initialisiere empObj_W
empObj_W.emp_id = 1512;
// In die Datei schreiben
binOutFile_Handler.write((char *) &empObj_W, sizeof(Mitarbeiter));
binOutFile_Handler.schließen();
wenn(!binOutFile_Handler.gut())

cout << "Error occured during writing the binary file!" << endl;
Ausgang (2);

// Jetzt lesen wir den Mitarbeiter.dat-Datei
binInFile_Handler.open("Mitarbeiter.dat", ios::in | ios::binär);
// Überprüfen Sie, ob die Datei geöffnet wurde
wenn(!binInFile_Handler)

cout << "File did not open!";
Ausgang (3);

// Inhalt der Binärdatei lesen
binInFile_Handler.read((char *) &empObj_R, sizeof(Mitarbeiter));
binInFile_Handler.schließen();
wenn(!binInFile_Handler.gut())

cout << "Error occured during reading the binary file!" << endl;
Ausgang (4);

// Ausgabe von empObj_R . ausgeben
cout << "Details of the Employee : " << endl;
cout << "Employee ID : " << empObj_R.emp_id << endl;
0 zurückgeben;

Fazit

Dateien werden hauptsächlich zum Speichern der Daten verwendet und spielen eine wichtige Rolle in der realen Programmierung. In diesem Artikel haben wir Ihnen anhand einiger Beispiele gezeigt, wie Sie verschiedene Dateioperationen mit der Programmiersprache C++ verwenden können. Darüber hinaus haben wir Ihnen gezeigt, wie Sie Daten sowohl in Textdateien als auch in Binärdateien lesen und schreiben können.

AppyMouse On-Screen Trackpad und Mauszeiger für Windows Tablets
Tablet-Benutzer vermissen oft den Mauszeiger, insbesondere wenn sie die Laptops gewohnt sind. Die Touchscreen-Smartphones und -Tablets bieten viele Vo...
Mittlere Maustaste funktioniert nicht unter Windows 10
Das mittlere Maustaste hilft Ihnen beim Scrollen durch lange Webseiten und Bildschirme mit vielen Daten. Wenn das aufhört, werden Sie am Ende die Tast...
So ändern Sie die linke und rechte Maustaste auf einem Windows 10-PC
Es ist ganz normal, dass alle Computer-Maus-Geräte ergonomisch für Rechtshänder gestaltet sind. Es gibt aber auch Mausgeräte, die speziell für Linkshä...