ASCII Zeichen (lediglich 0 - 9) von char in int Variable Speichern
-
Hallo!
Ich habe ein Array mit den Werten meiner Eingabe von der Tastatur. Leider sind die Werte in diesem als char definierten Array in ASCII Code gespeichert. Gibt es eine Möglichkeit diese Werte in ein int - Array zu speichern?
lg
pioneer
-
void char_to_int_array (char *from, int *to, int length) { while (length--) *to++ = *from++; }
-
char c[]={1,2,3,4,5}; int i[5]; for(int n=0;n<sizeof(c);n++) { i[n]=c[n]; }
?
-
_matze schrieb:
char c[]={1,2,3,4,5}; int i[5]; for(int n=0;n<sizeof(c);n++) { i[n]=c[n]; }
?
um eventuelle fehler zu vermeiden falls das Array mal nicht vom typ char ist:
n < sizeof(c) / sizeof(*c);
-
pioneer01 schrieb:
Hallo!
Ich habe ein Array mit den Werten meiner Eingabe von der Tastatur. Leider sind die Werte in diesem als char definierten Array in ASCII Code gespeichert. Gibt es eine Möglichkeit diese Werte in ein int - Array zu speichern?
lg
pioneerIch nehme an, Deine Eingaben von der Tastatur (0 bis 9) liegen im char-Array folgendermassen vor:
char c[] = {'1', '2', '3', '4' , '5'}; int i[5]; for(int n = 0; n <sizeof(c); n++) { i[n] = (int)(c[n]-'0'); }
also '0' (==48) abziehen nach int casten und dem int-Array zuweisen. :xmas1: