partitionist
Erfahrenes Mitglied
'Ich möchte bei der Passworteingabe die Ausgabe mit den Zeichen * verdecken.
Die Eingabe soll in einem string gespeichert werden, schaut euch bitte denn Code an und sagt mir ob es Verbesserungsvorschläge gibt.
Die Eingabe soll in einem string gespeichert werden, schaut euch bitte denn Code an und sagt mir ob es Verbesserungsvorschläge gibt.
Code:
string LOGIN()
{
cout << "Login:";
fontRed();
unsigned short int laenge = 15;
char Ersatzzeichen = '*';
string passwd;
char akt('\0');
while((laenge-- >0)&&(akt!=13) && (akt!=10))
{
// Zeichen einlesen
akt = getch();
if ( akt == 0 || akt == 0xE0 ) //Bei Sonderzeichen zweites Zeichen ignorieren
{
getch ();
continue;
}
else if ( akt == 8 ) // Backspace abfangen
{
// Wenn bereits Zeichen im String vorhanden sind
if ( passwd.length () != 0 )
{
passwd.erase(passwd.end() - 1);
cout << "\b \b";
laenge += 2;
}
}
else if ( akt != 13 ) // Wenn Zeichen normal dann an das Passwort anhängen
{
passwd = passwd + akt;
cout << Ersatzzeichen;
}
}
textcolor(white);
return passwd;
}