Datei zeilenweise einlesen



  • Hallo: ich möchte eine Datei zeilenweise einlesen.

    void Reader::read(string filename)
    {
        ifstream in;
        string buffer;
        in.open(filename);
        vector<string> strs;
    
        while(getline(in, buffer))
        {
            cout << buffer << " EINGELESEN" << endl;
        }
    
        in.close();
    }
    

    Der Vector wird später benötigt. Das Problem an dem Code ist, dass ich am Ende einen Speicherzugriffsfehler habe.

    Kann mir jmd erläutern, was ich falsch mache?
    Herzlichen Dank



  • peinlichst schrieb:

    Kann mir jmd erläutern, was ich falsch mache?

    Uns kein kompilierbares Beispiel geben, das diesen Fehler produziert.



  • Du sagst, das du den vector spaeter brauchst. Kann es sein das du auf ein Element im vector zuzugreifen versuchst? Weil in deinem Code sehe ich nirgends das du was in den vector reinpackst.



  • Hab das Problem gefunden.
    Oder besser geasagt, ich habe keinen Fehler gefunden, aber es funktioniert jetzt.

    Bastele eine kleine Bibliothek für ein bestimmtes Dateiformat, und anscheinend ist beim Kopieren was schiefgelaufen. Hab alle .so und header gelöscht und neu erstellt und nochmal ldconfig ausgeführt. Jetzt funktioniert es.

    Der Vector wird jetzt erst verwendet. Das Dateiformat ist CSV-ähnlich. Mit boost::split lese ich nun die einzelnen Felder aus und speichere sie im Vector.

    Was das Problem war, weiß ich aber bis jett immer noch nicht.


Anmelden zum Antworten