Bereits ausgegebenes Zeichen wieder löschen?
-
Hi,
Ich habe ein kleines Programm bei dem man ein Passwort eingeben muss, wobei die Zeichen durch Sternchen ausgegeben werden(bisher zumindest - bin offen für andere Lösungen) und möchte gern das wenn Backspace(8) eingegeben wird, auch wieder ein Sternchen verschwindet. Hier taucht auch meine Frage auf:
Gibt es eine Funktion/Möglichkeit, bereits ausgegebene Sternchen wieder zu löschen?
Vielen Dank im vorraus an alle die sich Gedanken machen.
P.S.:Warum wird V*O*R*R*A*U*S* bei euch zensiert?
-
suchfunktion bzw google
-> improved console
-
Da findet man u.a. das:
http://www.wer-weiss-was.de/theme143/article3433467.htmlAber so ein paar Sachen ändern sich im Laufe der Zeit, siehe
neue deutsche Rechtschreibung und andere Vorgänger von Rechtschreibregeln
-
Hier ist mein Code:
cout << "Type in your password: "; while(passwort != "Passwort\x0D") //wird ausgeführt solange Passwort nicht Passwort + Enter ist { eingabe = _getch(); //liest Zeichen ein switch(eingabe) { default: if(eingabe != 0x08) //wenn Zeichen nicht Backspace = Rücktaste { zeichenanzahl = zeichenanzahl + 1; //die bisher eingetippten Zeichen (zeichenanzahl ist ein Integer) cout << "*"; //gibt Stern aus passwort = passwort + eingabe; //dem Passwort wird das eingegebene Zeichen am Schluss eingefügt } if(eingabe == 0x08) //wenn eingegebenes Zeichen Rücktaste { if(zeichenanzahl > 0) //und díe Zeichenanzahl > 0 ist { passwort.resize(passwort.length() - 1); //Das letzte Zeichen des Passwortes wird gelöscht (im String) zeichenanzahl = zeichenanzahl - 1; //Die Zeichenanzahl wird um eins kleiner, damit der Text, wie zum Beispiel "Type in your password: " nicht gelöscht wird cout << "\b \b"; //Das letzte Zeichen auf dem Bildschirm wird gelöscht } } if(eingabe == VK_RETURN && passwort != "Passwort\x0D" && passwort != "Passwort") //Wenn Passwort falsch ist { cout << "\b \b"; //Damit Enter nicht auf dem Bildschirm ausgegeben wird Beep(440, 50); //Piept Beep(220, 50); //Piept cout << "\n\n"; cout << "Wrong Password!"; } } }//Ab hier ist man eingeloggt cout << "\b \b"; //Damit Enter nicht auf dem Bildschirm ausgegeben wird cout << "Hello.";
Das ist mein Code mit allem drum und dran. Es ist auch möglich Zeichen durch die Entfernen-Taste zu löschen, doch das habe ich noch nicht programmiert.
MfG Hunterson
-ich wünsche allen schonmal ein frohes neues Jahr.