kleines Problem "Char To Hex"
-
Also ich möchte einzelne Chars in Hex umwandeln und einen Code habe ich schon.
char a = 'a'; int NumWert = (int) a; int LowNum = NumWert % 16; int HighNum = (NumWert - LowNum) / 16; char HexArray[2]; if(HighNum >= 0 && HighNum <= 9) HexArray[0] = (char) (HighNum + 48); else HexArray[0] = (char) (HighNum + 55); if(LowNum >= 0 && LowNum <= 9) HexArray[1] = (char) (LowNum + 48); else HexArray[1] = (char) (LowNum + 55); ShowMessage(HexArray);Das problemm bei der Sache ist daß ich nicht nur den richtigen HexWert bekomme, 61, sondern auch nen komischen Zeichen am ende und somit ich das nicht ins Int umwandeln kann. Kann mir einer bitte helfen dieses komische Zeichen los zu werden?

-
Was denn für ein Zeichen?
Btw: Ist das nicht was fürs C++-Forum?
-
Hallo
Tip am Rande - wie lange ist HexArray
MfG
Klaus
-
Versuchmal:
char HexArray[1];
-
hehe klappts danke. Aber wieso HexArra[1] <-- das bedeutet doch array mit einem Wert oder nicht?
-
Es bedeutet. 1 char und 1 \0 Nullterminierung.
-
smathi,
smathi schrieb:
Versuchmal:
char HexArray[1]Es bedeutet. 1 char und 1 \0 Nullterminierung.
diese Bedeutung kannst Du HexArray geben. Prizipiell ist das einfach nur ein Array von char-Werten. Und weiter ...
@dimmi: Daß Dein ShowMessage mit "char HexArray[1]" das erwartete Ergebnis anzeigt, ist reine Glückssache. Mit char[1] = ... überschreibst Du einen Speicherbereich, der Dir nicht gehört. Korrekt wäre:
char HexArray[3]; HexArray[2] = 0; ...
-
Danke an Alle.
Ich habe die @dschensky Version genommen und es läuft.