integer in string umwandeln?
-
hallo,
wie kann ich dies anstellen?
int zahl = 8; char str = zahl; printf("string = %s\n", str);
das ist nur ein beispiel, ohne sinn !
cu...
stdin
-
manchmal bin ich einfach zu schnell
hab es so gemacht:
char *digit[10] = { "0", "1" , "2", "3", "4" , "5", "6", "7" , "8", "9" }; int zahl = 8; printf("string = %s\n", digit[zahl]);
-
Es gibt auch funktionen um eine Zahl in einen String umzuwandeln.
Du könntest dafür
sprintf oder itoa verwenden, dann brauchst du nicht für jede mögliche Zahl einen Eintrag in deinem Array machen.
-
int zahl = 8; char digit[] = {'0' + zahl%10, 0}; printf("string = %s\n", digit);
-
hab das jetzt so gemacht:
int zahl = 8; char string[10]; sprintf(string, "%i", zahl); printf("string = %s\n", string);
@Abkürzer: kannst du mir die zeile kurz erklären:
char digit[] = {'0' + zahl%10, 0};
-
noch besser:
int zahl = 8; printf("string = %c\n", '0'+digit);
die '0' hat den wert 48. dann gehts mit der '1' (49) weiter...
-
int zahl = 8;
printf("string = %d\n",zahl);?
-
nee, so! *g*
int zahl = 8; char str[10]; /* genug zeichen für einen int? ich hoffs */ sprintf(str, "%d", zahl); /* zahl als %d in str speichern */ printf("zahl = %s\n", str);
hat stdin ja schon rausgefunden
-
c.rackwitz schrieb:
sprintf(str, "%d", zahl); /* zahl als %d in str speichern */
man kann %i synonym zu %d verwenden. hab ich auch lange nicht gewußt.
-
int zahl = 8; char s[] = {"0123456789"[zahl%10],0}; printf("string = %s\n", s);
-
hehe, mischung aus stdins zweitem post und Abkürzers post