Hallo
Folgendes Problem in C++:
Eine Datei wird in einen string kopiert, und danach mir .erase() einzelne elemte gelöscht.
Hier erstmal der teil der funktion
Die letzten 2 Zeilen, cout und sleep sind nur zum debuggen.
Wenn das Programm nun bei der while-Schleife ankommt, löscht er ungefähr 100 Objekte und gibt mir dann den Fehler aus bei position 6064 im string.
This application has requested the Runtime to terminate it in an unsual way.
Wenn ich das File Kürze, kommt der Fehler früher.
Hab die Datei mit dem Hex-Editor untersucht und den Wert der Positionen überprüft, es sind jedoch immer unterschiedliche Werte.
Google spuckt auch nichts brauchbares aus.
Wenn ich die while schleife weglasse, und nur einmal .erase() verwende funktioniert es.
Folgendes Problem in C++:
Eine Datei wird in einen string kopiert, und danach mir .erase() einzelne elemte gelöscht.
Hier erstmal der teil der funktion
PHP:
//Länge des streams ermitteln
size_t size;
finput.seekg(0, ios::end);
size = finput.tellg();
finput.seekg(0, ios::beg);
//Buffer auf stream größe erweitern
buffer.resize(size+1, '~');
//Datei in Buffer kopieren
int index=0;
while(finput.get(ch)){
buffer.at(index)=ch;
index++;
}
//Das Wort " Angreifen" aus dem Buffer löschen
int pos;
while(pos != 0){
pos = buffer.find(angreifen, 0);
if(pos!=0)buffer.erase(pos, 10);
cout<<pos<<" ";
Sleep(10);
}
Die letzten 2 Zeilen, cout und sleep sind nur zum debuggen.
Wenn das Programm nun bei der while-Schleife ankommt, löscht er ungefähr 100 Objekte und gibt mir dann den Fehler aus bei position 6064 im string.
This application has requested the Runtime to terminate it in an unsual way.
Wenn ich das File Kürze, kommt der Fehler früher.
Hab die Datei mit dem Hex-Editor untersucht und den Wert der Positionen überprüft, es sind jedoch immer unterschiedliche Werte.
Google spuckt auch nichts brauchbares aus.
Wenn ich die while schleife weglasse, und nur einmal .erase() verwende funktioniert es.
Zuletzt bearbeitet: