So lesen und schreiben Sie in eine Datei in C ++ und schreiben Sie in eine Datei

So lesen und schreiben Sie in eine Datei in C ++ und schreiben Sie in eine Datei

In diesem Artikel zeigen wir Ihnen, wie Sie in der C ++ - Programmiersprache in eine Datei lesen und schreiben, indem Sie mehrere Beispiele verwenden. Um C ++ - Dateioperationen wie Lesen und Schreiben zu verstehen, müssen wir zunächst das Konzept eines Streams in C verstehen++.

Was ist ein Strom??

Ein Stream ist einfach ein Datenfluss oder Zeichen. Es gibt zwei Arten von Streams: Eingangsströme und Ausgabeströme. Ein Eingabestream wird verwendet, um die Daten von einem externen Eingabegerät wie einer Tastatur zu lesen, während ein Ausgangsstrom verwendet wird, um Daten in das externe Ausgabegerät wie einen Monitor zu schreiben. Eine Datei kann sowohl als Eingangs- 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 integrierte Klassen verwenden, um auf einen Eingangs-/Ausgangsstrom zuzugreifen.e., "IOS".

Hier ist die Stream -Klasse -Hierarchie der C ++ - Programmiersprache:

Die Objekte „CIN“ und „Cout“ werden verwendet, um die Daten von der Tastatur zu lesen und die Ausgabe auf dem Monitor anzuzeigen. Zusätzlich wird „Ifstream“ verwendet, der für "Eingabedateistrom" steht, um einen Datenstrom aus einer Datei zu lesen, und "Ofstream", das für "Ausgabedateistream" steht, wird verwendet, um einen Datenstrom zu schreiben zu einer Datei.

Das „iostram.Die Datei h ”enthält alle erforderlichen Standard -Eingangs-/Ausgabestreamklassen in der C ++ - Programmiersprache.

Beispiele

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

  • Beispiel 1: Öffnen und schließen Sie eine Datei
  • Beispiel 2: Schreiben Sie in eine Datei
  • Beispiel 3: Aus einer Datei lesen
  • Beispiel 4: Lesen und schreiben in eine Datei
  • Beispiel 5: Lesen und schreiben Sie in eine binäre Datei

Beispiel 1: Öffnen und schließen Sie eine Datei

In diesem Beispielprogramm werden wir demonstrieren, wie Sie eine Datei öffnen/erstellen und die Datei in C schließen können++. Wie Sie im folgenden Programm sehen können, haben wir die für den Dateioperationen erforderliche Bibliothek aufgenommen.

Um eine Datei zu öffnen und zu schließen, brauchen wir ein Objekt von Stream. Um dann eine Datei zu lesen oder zu schreiben, müssen wir die Datei öffnen. Wir haben die FStream-Header-Datei in Zeile Nummer 1 aufgenommen, damit wir auf die Stream-Klasse zugreifen können.

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

#enthalten
Verwenden von Namespace STD;
int main ()

Ofstream MyFile_handler;
// Datei öffnen
MyFile_handler.Öffnen ("Datei_1.txt");
// Datei schließen
MyFile_handler.schließen();
Rückkehr 0;

Jetzt werden wir das Programm zusammenstellen und die Ausgabe untersuchen. Wie Sie im folgenden Ausgabefenster sehen können.Die Datei txt ”wurde nach der Ausführung des Programms erstellt. Die Größe der Datei ist Null, da wir keinen Inhalt in der Datei geschrieben haben.

Beispiel 2: Schreiben Sie in eine Datei

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

Wir können mit dem Stream Insertion Operator in eine Datei schreiben, ich.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.

#enthalten
Verwenden von Namespace STD;
int main ()

Ofstream MyFile_handler;
// Datei öffnen
MyFile_handler.Öffnen ("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();
Rückkehr 0;

Jetzt werden wir das obige Programm zusammenstellen und es ausführen. Wie Sie unten sehen können, haben wir erfolgreich in die Dateidatei_1 geschrieben.txt.

Beispiel 3: Aus einer Datei lesen

In den vorherigen Beispielen haben wir Ihnen gezeigt, wie Sie Inhalte in eine Datei schreiben können. Lesen wir nun den Inhalt aus der Datei, die wir in Beispiel-2 erstellt haben.e., der Monitor.

Wir verwenden die Funktion getline (), um die vollständige Zeile aus der Datei zu lesen, und dann „Cout“, um die Zeile auf dem Monitor zu drucken.

#enthalten
#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()

ifstream myFile_handler;
String myline;
// Datei im Lesemodus öffnen
MyFile_handler.Öffnen ("Datei_1.txt");
if (myFile_handler.ist offen())

// Lesen Sie die Datei weiter
während (Getline (myfile_handler, myline))

// Drucken Sie die Leitung auf der Standardausgabe
Cout << myLine << endl;

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

anders

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

Rückkehr 0;

Jetzt drucken wir den Inhalt von Datei_1 aus.TXT Verwenden Sie den folgenden Befehl: cat file_1.txt. Sobald wir das Programm kompilieren und ausführen, ist klar, dass die Ausgabe mit dem Inhalt der Datei übereinstimmt. Daher haben wir die Datei erfolgreich gelesen und den Inhalt der Datei in 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 eine Datei lesen und in eine Datei schreiben. Um sowohl zu lesen als auch in eine Datei zu schreiben, müssen wir ein Fstream -Objekt erhalten und die Datei im Modus "iOS :: in" und "iOS :: Out" öffnen.

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

#enthalten
#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()

fstream myfile_handler;
String myline;
// Datei öffnen
MyFile_handler.Öffnen ("Datei_1.txt ", ios :: in | ios :: out);
// Überprüfen Sie, ob die Datei geöffnet ist
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 :: bett);
// Lesen Sie die Datei
if (myFile_handler.ist offen())

// Lesen Sie die Datei weiter
während (Getline (myfile_handler, myline))

// Drucken Sie die Leitung auf der Standardausgabe
Cout << myLine << endl;

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

anders

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

MyFile_handler.schließen();
Rückkehr 0;

Jetzt werden wir das Programm kompilieren und ausführen.

Beispiel 5: Lesen und schreiben Sie in eine binäre Datei

In diesem Beispiel werden wir eine Klasse deklarieren und dann das Objekt in eine binäre Datei schreiben. Um dieses Beispiel zu vereinfachen, haben wir die Mitarbeiterklasse mit einer öffentlichen Variablen emp_id deklariert. Dann lesen wir die Binärdatei und drucken die Ausgabe in den Monitor.

#enthalten
#enthalten
Verwenden von Namespace STD;
Klassenangestellter

öffentlich:
int emp_id;
;
int main ()

Ofstream BinoutFile_handler;
IfStream Bininfile_handler;
Mitarbeiter empobj_w, empobj_r;
// Datei öffnen
BinoutFile_handler.offen ("Mitarbeiter.dat ", ios :: out | ios :: Binary);
// Überprüfen Sie, ob die Datei geöffnet ist
Wenn(!BinoutFile_handler)

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

// initialisieren Sie 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);

// Lassen Sie uns nun den Mitarbeiter lesen.DAT -Datei
Bininfile_handler.offen ("Mitarbeiter.dat ", ios :: in | ios :: Binary);
// Überprüfen Sie, ob die Datei geöffnet ist
Wenn(!Bininfile_handler)

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

// Lesen Sie den Inhalt der Binärdatei
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);

// Drucken Sie die Ausgabe von empobj_r aus
Cout << "Details of the Employee : " << endl;
Cout << "Employee ID : " << empObj_R.emp_id << endl;
Rückkehr 0;

Abschluss

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