spike78 Geschrieben 18. August 2005 Geschrieben 18. August 2005 Hallo, wie kann ich mit atoi einzelne Feldwerte zu einem Integer umwandeln ? Folgedes Beispiel: char c[2]; int loesung; printf("\nZahl 1:"); scanf("\n%c",&c[0]); printf("Zahl 2:"); scanf("\n%c",&c[1]); printf("Zahl 3:"); scanf("\n%c",&c[2]); loesung=atoi(c[1]); --> das scheint nicht zu gehen Gruß Michael Zitieren
Bubble Geschrieben 18. August 2005 Geschrieben 18. August 2005 loesung=atoi(c[1]); --> das scheint nicht zu gehen c[1] ist ein char und kein C-String. atoi() wandelt aber C-Strings in Zahlen um, daher funktioniert es nicht. Wenn die Buchstaben im Array in ASCII-Notation sind, dann subtrahiere einfach den Zahlenwert von '0' und schreib das Ergebnis in ein int. Also: loesung = c[1] - '0'; Aber Achtung! Je nach Zeichensatz und Character-Map kann es auch fehlschlagen! Also nur als Work-Around benutzen! Alternativ verwendet doch gleich scanf() mit dem %d Type Character und schreib das Ergebnis in Dein int. Zitieren
spike78 Geschrieben 18. August 2005 Autor Geschrieben 18. August 2005 hi, was %d für ein Character ? kannst du mir dafür ein Beispiel geben ? gruß Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.