Eingabe "zerlegen" und einzelne zeichen in array speichern
-
Hallo,
Ich versuche gerade vergeblich eine Eingabe "auseinander" zu nehmen und jedes Zeichen einzeln in einem Array zu speichern
char zahl[10]; cout << "Geben Sie eine Schlüsselnummer ein:" << endl; cin.getline(eingabe,10); ptr = eingabe; while(ptr<eingabe+strlen(eingabe)) { if(ptr=="0") {zahl[n]='0';} else if(ptr=="1") {zahl[n]= '1';} else if(ptr=="2") {zahl[n]= '2';} else if(ptr=="3") {zahl[n]= 'A';} else if(ptr=="4") {zahl[n]= 'A';} else if(ptr=="5") {zahl[n]= '5';} else if(ptr=="6") {zahl[n]= '9';} else if(ptr=="7") {zahl[n]= 'A';} else if(ptr=="8") {zahl[n]= '8';} else if(ptr=="9") {zahl[n]= '6';} *ptr++; n++; } }Das funktioniert allerdings nicht so. Der Fehler liegt vermutlich an else if(ptr=="7")
{zahl[n]= 'A';}
also an "" oder ''. Ich weiß nicht welche zeichen ich da verwenden muss. Immer wenn der Zeiger auf z.b.: 5 ist soll eine 5 in das array gespeichert werden. Die Zahlenfolge 0457785 soll dann quasi zu 0A5AA85 werden.Das klappt allerdings nicht.
-
Huhu,
"1" <-- 2 Bytes = '1' + '\0' ;Dein ptr kann aber nur auf ein Zeichen ( 1 Byte ) zeigen.
Sprich:
Deine Abfragen müssten so lauten:
if ( *ptr == '1' ) //....
-
Ich empfehle einen anderen Ansatz: Lies einen std::string ein und benutz dann replace().
-
Danke
THX
