Witam! Staram się napisać ukrywanie znaków w konsoli. Na razie mam takie coś:
int key=0;
cout<<"\tPassword: ";
string pass;
while(1){
if(kbhit()){
key = getch();
switch(key){
case 13:
break;
case 27:
break;
case 8:
if(pass.length()==0)break;
cout<<"\b";
cout<<" ";
pass = pass.substr(0, pass.length()-1);
break;
default:
char ch = key;
cout<<"*";
pass+=key;
break;
}
}
if(key==13)break;
Sleep(30);
}
if(pass.compare("pass")==0){
color(11);
cout<<"\n\tAccess granted!\n"<<endl;
}
else{
color(13);
cout<<"\n\tAcces Denied!"<<endl;
return;
}
I wszystko działa, string jest dobrze "ucinany" lub "dodawany" w zależności czy nacisnęło się literę czy backspace. Jednakże kiedy próbuję klikać backspace, to usuwa się tylko ostatnia litera i nic :/. Video: https://sendvid.com/x0qiu0dz