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.