zweimal gleichen stream auslesen



  • Guten Abend !!

    Ich möchte eine Datei einlesesn und erstmal nach einem Wort suchen um es zu zählen. Kein Problem. Dann möchte ich von neuem beginnen, die Datei Wort für Wort von Anfang an zu parsen.
    Das Alles MUß in zwei Schritten passieren.
    Wenn ich das Programm starte zählt es zwar das Suchwort, bricht danach aber ab.
    Ich dachte ich könnte mit InStream.seekg (0, ios::beg); einfach wieder an die Anfangsposition des Streams springen.
    Doch so funktioniert es noch nicht:

    ifstream InStream ("bla.txt");
    
    // Zählen wie oft AREA vorkommt
    
        while(InStream.getline(cDataBuffer,sizeof(cDataBuffer)))
        {
    	if(strstr(cDataBuffer, "AREA") != NULL)
    		{
    		iAreaCounter++;
    		}
        }
    
        cout << "Areas:" << (iAreaCounter-1) << endl;
    
    // Zurückspringen auf Anfang im Stream
    
        InStream.seekg (0, ios::beg);
    
    // Ab hier aller von vorn parsen
    
        while (!InStream.eof())
        { 
    
    	InStream.getline(cDataBuffer,sizeof(cDataBuffer));
    
    	...
        }
    




  • Danke !!!

    War n paar Tage nicht da und werds jetzt mal probieren.

    -Lutz


Anmelden zum Antworten