Problem mit Springen aus der While-Schleife Insert/Replace etc. Strings
-
Hallo!
http://www.reyman.de.vu/Problem1.html
Auf dieser Werbsite habe ich mein komplettes Problem
usw. alles geschrieben.Ich hoffe, dass die Funktion "anzahlZeichenrechnen" verständlich ist.
Dennoch eine kleine Einführung in mein Problem:
Ich habe eine Funktion, dessen Arbeit sich wiederholen muss,
und zwar solange, bis ein Wert geändert wird.int OK(0); while(OK != 0) { if(....) { [....] [....] }else{ OK = 1; }; }
Jetzt müsste ja, sofern die IF-Abfrage in die else Seite Phase springt,
die While-Schleife beendet werden (durch OK = 1).
Jedoch ist das bei meiner Funktion
(nochmals: Komplett auf www.reyman.de.vu/Problem1.html )
nicht der Fall. Entweder springt die IF Abfrage niemals in die ELSE-Phase,
was jedoch sehr komisch wäre, aber kann ja sein (werde ich durch
eine kleine Ausgabe auf den Bildschirm testen!), oder der
Wert von OK will einfach nicht auf 1.Hat jemand eine Lösung für dieses Problem?
Reyman
-
Reyman schrieb:
Entweder springt die IF Abfrage niemals in die ELSE-Phase
Was wohl der Fall sein wird. find() gibt übrigens ein string::size_type zurück, beachte das.
nochwas:
Schleifen verlässt man nicht durch solche Dummy-Variablen. Schau dir mal das Schlüsselwort break an.
-
oh ja, hast ja recht.
Habe ich mich wohl heute morgen ein wenig
"verschrieben". Naja, war ja auch schon 3 Uhr Morgens,
da denkt man nicht so daranNaja, habe jetzt die Funktion gelöscht da, wie ich feststellen konnte,
ein Fehler mit der Funktion "anzahlZeichenrechnen" auftritt.Irgendwie übergibt die Funktion SuErs bei der varMinus einen höheren Wert
als bei Gesammt (laut meiner Debug Ausgabe von der Funktion anzahlZeichenrechnen).Also soll praktisch der String, der [Rückgabewert von anzahlZeichenrechnen] Leerzeichen zeichnen soll - [Rückgabewert von anzahlZeichenrechnen] zeichnen, was natürlich ein "SIGBIT 6 " ausgibt...
Jedoch kann ich mir nicht erklären woher das kommt.