bla*_*axc 3 c++ passwords input masking
我正在编写一个代码来接收密码输入.下面是我的代码...程序运行良好,但问题是除了数字和字母字符之外的其他键也被读取,例如删除,插入等等我能否知道如何避免它?TQ ...
string pw="";
char c=' ';
while(c != 13) //Loop until 'Enter' is pressed
{
c = _getch();
if(c==13)
break;
if(c==8)
{
if(pw.size()!=0) //delete only if there is input
{
cout<<"\b \b";
pw.erase(pw.size()-1);
}
}
if((c>47&&c<58)||(c>64&&c<91)||(c>96&&c<123)) //ASCii code for integer and alphabet
{
pw += c;
cout << "*";
}
}
Run Code Online (Sandbox Code Playgroud)
过滤使用isalnum()字母数字或isalpha()仅用于字母.
此外,您正在检查c == 13两次,以下就足够了.
while(1){
//
if(c == 13)
break;
//
}
Run Code Online (Sandbox Code Playgroud)
if( isalnum(c) ){
// 'c' is acceptable
}
Run Code Online (Sandbox Code Playgroud)
某些断言在执行期间失败,从而引发该错误.
| 归档时间: |
|
| 查看次数: |
4012 次 |
| 最近记录: |