Zahl in Zeichenkette umwandeln
-
Hi,
ich möchte mit der Funktion sprintf eine Zahl in eine Zeichenkette umwandeln, nur will dies nicht so recht hinhauen.
int main(int argc, char* argv[]) { int zahl; char string[50]; scanf("%i", &zahl); sprintf(string,"%i",zahl); printf("\nder string lautet: %s", string); return 0; }
Wenn ich jetzt mein Programm starte und eine Zahl eingebe, wird nicht die entsprechende Zeichenkette ausgegeben, sondern nur wieder die Zahl die ich eingegeben hatte.
Ich bin sicher ihr könnt mir helfen.Gruß Lars
-
in der faq dürfte da was stehen
-
jap, das prob hatte ich mal als aufgabe in der schule
das ist im deutschen sprachraum ne schwierige sache, da es so viele ausnahmen gibt (10, 11, 12, 60, 70)..da muss man ne übelste abfragenstruktur aufbauen.kann dir ja mal die cpp zukommen lassen, wenn du mir deine mail gibst, oder icq, oder msn
mfg _mika_
-
Du willst bei der Eingabe "1" die Ausgabe "eins" erreichen? Das fragt hier jemand alle 5 Wochen, also such mal danach!
-
Gast221212 schrieb:
Du willst bei der Eingabe "1" die Ausgabe "eins" erreichen? Das fragt hier jemand alle 5 Wochen, also such mal danach!
nein, dass habe ich so nicht gemeint. Ich wollte, dass das Programm die ascii Zahlen in Buchstaben umwandelt und zwar mit der Funktion sprintf(). So entspricht zum Beispiel die Zahl 65 dem Buchstaben A.
Gruß Lars
-
Oh Leute,
da fällt mir ein Spruch aus der Bibel ein: Herr vergib ihnen, denn sie wissen nicht, was sie tun.
Zahl in Zeichenkette umwandeln heisst: 1 in '1' und 21 in "21". Das geht mit einer Funktion itoa (Borland) oder _itoa (Microsoft): integer to ascii. Wenn es ein anderer Compiler ist, der das nicht hat: Do it yourself.
Tip (Voraussetzung: Ganzzahl): Falls Zahl>10: Teile Zahl durch 10, weise das b zu. Rechne Zahl minus b mal 10 = Rest. Switch: wenn Rest == 3 dann rest = '3', etc. So kann man einen String/Array aufbauen.Viel spass und Gruss Jerry
-
... schrieb:
nein, dass habe ich so nicht gemeint. Ich wollte, dass das Programm die ascii Zahlen in Buchstaben umwandelt und zwar mit der Funktion sprintf(). So entspricht zum Beispiel die Zahl 65 dem Buchstaben A.
Gruß Larsalso, namensvetter *g*:
char ascii; if (zahl > 0 && zahl < 256) //überprüfung { ascii = (char)zahl; cout<<ascii; }
ausgabe bei eingabe '65': A
(ungetestet, würde mich aber schwer wundern, wenns nicht funzt)
//EDIT: sry, kleiner fehler
-
Hi,
Danke für die Antwort, aber wie sieht es mit sprintf() aus? Warum funzt das nicht?
Gruß Lars
-
sprintf ist C, das ist aber ein C++ Forum; aber, wenn Du unbedingt willst:
sprintf(string,"%c",zahl);
So jetzt aber noch mal das gleiche in C++
:
#include <iostream> #include <string> using namespace std; int main(int argc, char* argv[]) { int zahl; string s; cin>>zahl; s = (char)zahl; cout<<"\nder string lautet: "<< s; }