Textdatei einlesen und mit string analysieren



  • Hallo zusammen,
    ich habe folgendes Problem. Bei einer Aufgabenstellung soll eine Textdatei namens text.txt eingelesen werden und abgefragt werden ob das funktioniert hat oder nicht. Des weiteren soll untersucht werden, wie viele Zeichen, Wörter und Zeilen die Textdatei enthält.
    Mein Problem ist nun dabei, den Inhalt der geöffneten Textdatei an den string zu übergeben, damit dieser durchsuch wird.
    Folgendes Programm hab ich bereits geschrieben.

    #include<fstream>
    #include<iostream>
    #include<string>
    
    usning namespace std;
    
    int main()
    {
    char datei [250]="text.txt";
    ifstream eingabe(datei,ios_base::in|ios_base::binary);
    if (eingabe.good())
    cout << "Datei" << datei << "wurde geoeffnet." << endl;
    else
    cout << "Datei" << datei << "konnte nicht gefunden oder geoeffnet werden." << endl;
    string s = datei;  // das hier ist meines Edie Problemstelle.
    int i; zeichen=0; worte=1, zeilen=1;
    for(i=0;s[i];i++)
    {
    switch(s[i])
    {case ' ': worte++;
    break;
    case '0xA': zeilen++;
    break;
    default: zeichen++;
    break;
    }
    }
    cout << "Anzahl der Zeichen= " << zeichen << endl;
    cout << "Anzahl der Worte= " << worte << endl;
    cout << "Anzahl der Zeilen= " << zeilen << endl;
    system ("PAUSE");
    return 0;
    }
    

    Für Hilfen diesbezüglich wäre ich sehr dankbar oder auch Hinweise was vielleicht besser wäre um eine Textdatei zu analysieren.

    DANKE
    mfg
    Christoph



  • Mit "s=datei;" weißt du dem String s den vorgegebenen Namen der Datei zu. Den Datei-Inhalt mußt du schon aus dem angelegten ifstream auslesen (z.B. mit get() (zeichenweise), op>> (wortweise) oder getline (zeilenweise)).


Anmelden zum Antworten