char zu int casten?
-
ich bring das nicht her ->
#include <cstdlib> char num; int i; num = datei.get(); i = atoi(num); cout<<i<<endl;
kann mir jemand sagen was da falsch ist? in der faq stehts auch so?
oder wie caste ich ein char das ich von datei einlese in int?
-
Downset schrieb:
in der faq stehts auch so?
nö.
kennst du den Unterschied zwischen char und char* ?
-
jo kenn ich eigentlich aber -->
#include <cstdlib> char* num; int i; num = datei.get(); i = atoi(num); cout<<i<<endl;
main.cpp(15): error C2440: '=': 'std::basic_istream<_Elem,_Traits>::int_type' kann nicht in 'char *' konvertiert werden
-
Weisst du was ein char* ist?
Wenn du weisst, dass char* und char 2 verschiedene Sachen sind, dann müsste doch klar sein, dass sie nicht auswechselbar sind...
char buffer[100];
cin.getline(buffer,100);
cout<<atoi(buffer);
-
???
jetzt ists ganz auschar buffer[100]?? ich will doch einfach immer nur eine ziffer aus datei lesen und casten in int?
????
-
Downset schrieb:
ich will doch einfach immer nur eine ziffer aus datei lesen und casten in int?
char c=cin.get();
int i=c;
cout<<i;?
-
???nee so geht das aber nicht??da kommt dez raus zb char 4 kommt bei cout 52 raus ich will aber 4 und nicht dass 52 rauskommt!
das muss doch gecastet werden --> jetzt hab ichs
char num; int i; num = datei.get(); i = atoi(&num); cout<<i<<endl;
-
Dein Code erzeugt undefiniertes verhalten.
Wenn du die eingegebene Ziffer ausgeben willst, wozu brauchst du dann int?
-
ich will mit den int werten rechnen können und nicht nur ausgeben? kennst du was besseres ?
-
Downset schrieb:
ich will mit den int werten rechnen können und nicht nur ausgeben? kennst du was besseres ?
int i=c-'0';
?
sorry, ich rate eigentlich immer nur ins blaue...
-
Downset schrieb:
???nee so geht das aber nicht??da kommt dez raus zb char 4 kommt bei cout 52 raus ich will aber 4 und nicht dass 52 rauskommt!
1. Bilde bitte lesbare Sätze.
2. Wenn du einen bestimmten Buchstaben eingibst, dann wird dem int der dazugehörige ASCII-Wert zugeordnet. Wenn etwas anderes herauskommen soll, dann musst den Zeichensatz verändern (soweit das Möglich ist) oder Rechnungen durchführen.mfg
-
ok big thx
int i=c-'0';