Charzeichen als Int darstellen
-
Ich hatte eine aufgabe, ein charzeichen einzulesen, und den entsprechenden Int-Wert auszugeben:
int main(int argc, char* argv[]) { char sign[10]; cin>>sign; int* i=reinterpret_cast<int*>(sign); cout<<dec<<*i<<endl; getch(); return 0; }
ist das so io?
wenn ich a eingebe kommt: 97
-
Kann mir irgendwie nicht so richtig vorstellen, dass das funktioniert.
Warum reservierst du 10 Byte Speicher (char-Array) für ein Zeichen? Warum benutzt du Zeiger? Warum benutzt du einen reinterpret_cast<>()?.Dann landest du etwa hier:
int main() { char c; cin >> c; cout << "\n ASCII: " << static_cast<int>(c) << endl; return 0; }
Caipi
-
Wie wärs mit:
int main(){ char c; cin >> c; cout << int(c) << endl; return 0; }
-
doch geht schon, aber is eben bissl umständlich wa?