Char to Int
-
Hi, ich möchte aus einem Char einen Integer-Wert machen (Nicht das Äquivalent aus der ASCII-Tabelle).
Das folgende funktioniert:char *a = "1234"; char c = a[1]; printf("%d", atoi(&c));
Das hier wäre auch eine Möglichkeit:
char *a = "1234"; char c[100]; sprintf(c, "%c", a[1]); printf("%d", atoi(c));
Aber weshalb funktioniert das nicht bzw. wie kann ich es zum Laufen bringen?
char *a = "1234"; printf("%d", atoi(&a[1]));
-
Hm, ich weis jetzt nicht was das Problem ist? Der Code macht eigentlich genau das was er soll.
Die Ausgabe lautet bei mir "234". Willst du die 1 auch noch mit haben?
Dann musst du auch auf das erste Element zeigen mit deinem Pointer.char *a = "1234"; printf("%d", atoi(&a[0]));
//Edit
Ah du willst nur die 2 haben, was?
Nun das wirste wohl mit einem der ersten 2 ansätze machen müssen.
Die Funktion heist ja nich um sonst atoi :xmas1:
-
gosha16 schrieb:
Die Ausgabe lautet bei mir "234".
wieso denn das?