Char Vergleich klappt nicht !
-
Hallo !
Unzwar habe ich gerade ein ziemlich großes und auch gleichzeitig unlogisches Problem. Unzwar lese ich aus einer Datei die Zeichen nacheinander ein z.B. in die Variable "sign" nun habe ich eine for-Schleife die Ausgeführt werden soll wenn das Zeichen in der Char-Variable 0 ist, nur auch wenn ich nur 0en in die Datei schreibe, klappt dieser Vergleich nie und die Schleife wird immer übersprungen, hier ein Code beispiel.
std::ifstream Map; Map.open("map.txt", std::ios_base::in); Map.get(sign); if(sign == 0) { .... }Die Datei wird richtig eingelesen und ich kann mir auch die eigelesenen Zeichen ausgeben lassen, nur ich kann sie nicht vergleichen, da anscheinend 0 ungleich 0 ist

Mfg
-
Du solltest nicht mit 0 vergleichen sondern mit dem Zeichen 0 also:
if(sign == '0')
-
Hast Du das char '0' reingeschrieben oder das byte 0?
-
Der Code funktioniert wahrscheinlich schon, aber kann es sein, dass du das Zeichen '0' meinst? Das 0-Zeichen ('\0') kommt in Textdateien ja eher selten vor.
-
Vielen Dank, wie einen einfache Anführungszeichen zur Verzweifelung bringen
