int -> char
-
Hallo,
ich habe ein kleines Problem.
Ich habe 4 int Werte, welche ich alle zu einem char-Wert machen möchte.
Ich habe nur eine - umständliche Möglichkeit gefunden.Bei mir bekommt jedes Zeichen in einer intvariable ein eigenes Char. Sprich:
int i = 255;würde bei mir 3 Variablen vom Typ char bekommen.
Wie kann ich also einen int Wert größer 9 in ein Char umwandeln?
-
Kannst du das Problem ein bischen genauer schildern. Was für ein Problem willst du lösen?
-
ich habe 4 int werte in 4 verschiedenen int variablen z.b:
int i_1 = 234;
int i_2 = 222;
int i_3 = 112;
int i_4 = 211;daraus will ich nun ein char-Array machen, das dann so aussieht:
char mein_char[13]= {2,3,4,2,2,2,1,1,2,2,1,1};
gruss
-
wenn ich es richtig verstehe, müßte das eine Lösung sein
char text[12+1] // die +1 um die schlißende \0 nie zu vergessen int i_1 = 234; int i_2 = 222; int i_3 = 112; int i_4 = 211; sprintf(text,"%3.3i%3.3i%3.3i%3.3i" ,i_1,i_2,i_3,i_4);
dir ist aber bewußt das du mit einer int Zahl typischer weise heute 32 Bit
den Bereich von dezimal [-2147483648 .. 2147483647] oder in HexScreibweise [0x0..0xFFFFFFFF] abdeckst.
-
Danke erstmal für das Stückchen Code. Werde es mal probieren.
Ja das mit dem int is mir klar. Aber ich weiss, dass meine ints nur max 256 als wert verarbeiten müssen
-
ehm ne frage zu dem code:
ich brauch zum schluss ein char-Array, mit dem ich weiter arbeiten kann.
In diesem Beispiel is das ja nicht der Fall, dass ich zum Schluss ein Char-Array hab - ne?
-
ah doch
is da das char array
sorry
-
siehst du irgendwelch Znterschiede zwischen
char text[12+1] // die +1 um die schlißende \0 nie zu vergessen char mein_char[13];
Ich nicht, gibt auch keinen (Gott sei Dank)