Sonderzeichen Umwandeln
-
Warum funktionieren die folgende beiden Methoden nicht?
if(Text[i] == 'ä') Text[i] = 142; else if(Text[i] == 'ü') Text[i] = 153; else if(Text[i] == 'ö') Text[i] = 154;
switch(Text[i]) { case 'ä': Text[i] = 142; break; case 'ü': Text[i] = 153; break; case 'ö': Text[i] = 154; break; }
-
scheinbar macht dein compiler da nicht mit. immerhin sind äöü keine ascii zeichen. probiers mit dem ascii code statt den chars selbst.
-
c.rackwitz schrieb:
scheinbar macht dein compiler da nicht mit. immerhin sind äöü keine ascii zeichen. probiers mit dem ascii code statt den chars selbst.
Ja hab auch die Zahlen Versucht, da funktioniert es aber auch nicht, ich bekomme nur ein: [Warning] comparison is always false due to limited range of data type
Kann damit Jemand was anfangen [Compiler: MinGW]?
-
dazu müsst ich den ganzen code sehen oder wenigstens die zeile +/- 10 zeilen, in der der fehler auftaucht.
ein beispiel, wie die meldung kommen kann:
char foo; if (foo == 256) printf("xxx");
foo kann nie 256 werden, vom datentyp nicht. deswegen ist der vergleich false, immer.
-
c.rackwitz schrieb:
dazu müsst ich den ganzen code sehen oder wenigstens die zeile +/- 10 zeilen, in der der fehler auftaucht.
ein beispiel, wie die meldung kommen kann:
char foo; if (foo == 256) printf("xxx");
foo kann nie 256 werden, vom datentyp nicht. deswegen ist der vergleich false, immer.Wie kann ich das denn casten?
-
*Gast schrieb:
c.rackwitz schrieb:
dazu müsst ich den ganzen code sehen oder wenigstens die zeile +/- 10 zeilen, in der der fehler auftaucht.
ein beispiel, wie die meldung kommen kann:
char foo; if (foo == 256) printf("xxx");
foo kann nie 256 werden, vom datentyp nicht. deswegen ist der vergleich false, immer.Wie kann ich das denn casten?
Okay danke, habs selbst heraus gefunden (war je eigentlich auch nicht schwer
), ich hab es mit
unsigned char
gecastet und jetzt funktioniert das Umwandeln.