Inhalt einer Textdatei einlesen



  • Hallo, alle zusammen,

    Ich programmiere mit VC++ .Net. Ich habe schon lange nach einer Lösung gesucht, wie man den Inhalt einer normalen Textdatei einliest. Das schreiben klappt schon, aber ich komme mit dem lesen nicht klar.

    Kann mir einer sagen wie man das machen muss?

    Ich danke schon mal für jede Antwort und hoffe ihr könnt mir helfen.

    Kasus Knacktus



  • also hab hier den Code aus http://de.wikibooks.org/wiki/C%2B%2B-Programmierung:_Dateizugriff genommen

    #include <iostream>                             // Standardstream-Funktionaliät einbinden
    #include <fstream>                              // ofstream und ifstream einbinden
    
    using namespace std;
    
    int main(void)
    {
      ifstream Quelldatei;                          // neuen Lese-Stream erzeugen
      Quelldatei.open("in.txt", ios_base::in);      // Datei_1.txt öffnen
    
      if (!Quelldatei)                              // Fehler beim Öffnen?
        cerr << "Eingabe-Datei kann nicht geöffnet werden\n";
      else {                                        // falls es geklappt hat ...
        ofstream Zieldatei("out.txt");              // ja, richtig. Mit Dateinamen im Konstruktor wird die Datei implizit geöffnet
        if (!Zieldatei)                             // Fehler beim Öffnen?
          cerr << "Ausgabe-Datei kann nicht geöffnet werden\n"; 
        else {                                      // falls es funktioniert hat 
          char c;                                   // und jetzt, jedes Zeichen ...
          while (Quelldatei.get(c)) {               // ... einzeln ...
            Zieldatei.put(c);                       // ... in die Zieldatei schreiben.
          }
        }
      }
     return 0;
    }
    

    nun änderst du die While Schleife um!

    char c;   
    char a[2000];   // maximale Länge der Datei angeben
    int i=0; 
    while (Quelldatei.get(c)) {
             a[i]=c;
    	i++;
    }
    
    for (intj=0;j<i;j++){
             cout << a[j];
    }
    

    in die Variable c wird Zeichen für Zeichen geladen und
    in das Array a[an der Stelle i] geschrieben
    am Ende ausgegeben.

    hoffe konnte dir damit helfen

    Gruß Matthias


Anmelden zum Antworten