Endlosschleife, blos warum? (c++)

09/02/2008 16:17 Pat Garrett#1
Code:
string numberstr = "0155/194123";
int maxruns = 0;
int indexint = 0;

while (numberstr.find_first_not_of("0123456789",0) >= 0 && numberstr.find_first_not_of("0123456789",0) != string::npos && maxruns < 10)
{
  indexint = numberstr.find_first_not_of("0123456789",0);
  numberstr.erase(indexint,1);
  maxruns++;
}
Naja, ich bin mir zu 99,9% sicher, dass es an der Schleifen-Bedingung liegt (nie wieder werd ich den Fehler begehen und mir bei irgendwas in C++ 100% sicher sein, NIE MEHR!), denn selbst wenn ich die indexint und numberstr.erase weglasse, kommt das Programm in eine Endlosschleife, was es doch überhaupt nicht dürfte, wegen "while (... && maxruns < 10)".

Wenn ich das ganze als If-Abfrage formuliere, führt das Programm alles ganz normal aus. Ich bin komplett am verzweifeln und kurz davor meinen PC in Brand zu stecken, also bitte helft mir!

Grüße

Pat

EDIT:

Problem gelöst. Trotzdem danke für die Hilfe, kann geschlossen werden. :D
09/02/2008 18:58 x]vIrus[x#2
es empfiehlt sich immer wieder zu klammern
09/02/2008 19:31 syntex#3
Gebe virus recht, damit du die übersicht behälst.

Macht halt mehrere .h datein für funktionienen die nen zusammen hang haben. Haste mehr übersicht und kannst schön klammern!
09/03/2008 14:19 Pat Garrett#4
Natürlich habe ich schon alles mögliche ausgeklammert, bevor ich auf die Idee gekommen bin, hier nach Hilfe zu fragen. Dennoch Danke.
09/04/2008 20:11 reijin#5
ich hätte gesagt du solltest keinen AND operator für dein maxruns nehmen
sondern
Code:
||
denn schließlich soll ja ENTWEDER
PHP Code:
numberstr.find_first_not_of("0123456789",0) >= && numberstr.find_first_not_of("0123456789",0) != string::npos 
ODER
PHP Code:
maxruns 10 
zum beenden der Schleife führen ;)
09/10/2008 14:21 Pat Garrett#6
Nein, das war nicht der Fehler, war auch schließlich so gewollt. Ich Vollidiot habe einfach hinter die while-Schleife ein Semikolon gesetzt und die Zeile mit der While-Bedingung so lang war, habe ich sie im Midnight Commander nicht komplett bis zum Ende gesehen. Aus einem dummen Zufall heraus, habe ich dann festgestellt, welches das Problem war.
09/10/2008 14:40 Хакер#7
ja lol dann brauch ich dir das net mehr zu sagen
und wen man auch noch Wend vergisst dannn !!!!!
09/10/2008 16:36 Cholik#8
ну почему себя хакер носваль эсли нехуя не знаешь
09/19/2008 11:32 verT!c4L#9
"Ich glaub die lRrrrussssennn sin' doa!"