Lesen und Schreiben in eine Textdatei in C++

In diesem Tutorial lernen wir, wie man eine Textdatei in C++ liest und schreibt. Überprüfen Sie in beiden Fällen immer, ob die Datei existiert, nachdem Sie einen Lese-/Schreibdatenstrom deklariert haben:

ifstream myFlux("C:/test.txt");
if(myFlow){
   ...
}
else{
    Nachricht, die darauf hinweist, dass die Datei nicht existiert
}

Schreiben Sie in eine Datei in C++

Das Schreiben erfolgt durch Erstellen eines Streams ofstream, der den Dateinamen als Parameter verwendet. Dieser Fluss wird eine Rolle spielen. Der Vermittler zwischen den  Compiler und Datei. Die AnweisungFlowName< < " "Write Something" < < endl; schreibt den Satz "write something" in der Datei test.txt. endl macht einen Zeilenumbruch.

#include < iostream>
#include < fstream>
#include < Zeichenfolge>
#include < sstream>
Verwenden des Namensraums std;

void write(int T[])
{
        string const filename("C:/test.txt");
        ofstream myStream(nomFichier.c_str());
        if(myFlow)
        {
                              Saiten-Saite;
                              for(int i = 0 ; i < 10 ; i++)
                    string += convertInt(T[i])+" ";
                              myFeed-< < Kette < < endl;
        }
        else
              Kosten < < "Datei kann nicht geöffnet werden." < < endl;      
}

//Konvertieren einer Ganzzahl in string
Saite  convertInt(int  number)
{
    stringstream ss; ss < < Zahl; Rückkehr  ss.str();
}

//Generieren Sie eine aletoriale Nummer
int rand(int nb)
{
      return rand()%nb;
}

int main()
{
      int T1[10]={1,2,3,4,5,6,7,8,9,10};
      Schreiben (T1);
      play();
      srand(time(NULL));
      for(int i=0; i< 5; i++)
                      printf("%d  \n",rand(50));
      system("pause");
}

Lesen einer Datei in C++

In C++ können Sie auf drei Arten lesen:
  1. Zeile für Zeile: Der Wiedergabecursor liest die gesamte Zeile und geht mit der Methode getline( ifstream stream, string line) zur nächsten über.
  2. Wort für Wort: mit der myFlow-Anweisung > > Wort; Wort ist ein String. Wörter werden durch Leerzeichen getrennt.
  3. Zeichen für Zeichen: mit der Methode get(char c).
Beispiel:
nichtig  reading()
{
        ifstream myFlux("C:/test.txt");
          if(myFlow)
        {
                              Leitlinie;
                              printf("Zeile für Zeile\n");
                                while(getline(myFlow,line))
                                            Kosten< < Linie< < endl;
                              printf("Wort für Wort\n");
                                myFlow.clear();
                initialisieren Sie den Schieberegler von zero
                              myFlux.seekg(0, ios::beg);
                                Saitenwort;
                                while(myFlow> > word)
                                            Kosten< < mot< < endl;
                              printf("Zeichen für Zeichen\n");
                                myFlow.clear();
                              myFlux.seekg(0, ios::beg);
                                Panzer c;
                                while(myFlux.get(c))
                                {
                                          Kosten< < c< < endl;
                                          int  position=myFlow.tellg();                
                              }
        }
          else
                Kosten< < "Datei kann nicht geöffnet werden"  < < endl;
}