Speicherzugriffsfehler bei string Untersuchung



  • Hallo,
    ich möchte eine Datei zeilenweise auslesen und jede Zeile auf ein bestimmtes Zeichen hin Untersuchen. Mein Code dazu sieht folgendermaßen aus:
    //-----------------------
    string buffer;
    int i=0;
    while(!inFile.eof())
    {
    getline(inFile,buffer);
    while(buffer[i]!='<')
    {
    i++;
    }
    }
    //-----------------------
    Wenn ich den Code ausführe bekomme ich die Meldung "Speicherzugriffsfehler". Diese Meldung scheint durch die Zeile "while(buffer[i]!='<')" zu entstehen. Was mache ich da falsch, bzw. was muss ich anders machen?

    Gruß Thomas



  • Dein Fehler ist, dass du davon ausgehst, dass das Zeichen auf jeden Fall in der Zeile vorkommt. Du schiesst über den rechten Rand hinaus.
    Außerdem wird i immer nur erhöht, auch wenn eine neue Zeile gelesen wurde.

    Die methode size() könnte nützlich sein.


Anmelden zum Antworten