用c语言写登录时,如何将输入的密码显示为*号
在做登录的时候,我想将我输入的密码显示为*号,该如何写呢?我自己也尝试写了一下,效果是出来了,但是不使用,有没有使用一点的方法?最好是有代码事例!谢谢了!这就是我自己写的...
在做登录的时候,我想将我输入的密码显示为*号,该如何写呢?我自己也尝试写了一下,效果是出来了,但是不使用,有没有使用一点的方法?
最好是有代码事例!
谢谢了!
这就是我自己写的:
printf("\n\n 请输入密码:");
//密码显示为*号
char pwd;
int zu=0;
while(pwd!=13)
{
pwd=getch();
if (pwd==13)
{
zuce.Pwd[zu]='\0';
break;
}else
{
if(pwd==8)
{
zuce.Pwd[zu-1]='\0';
// continue;
}else
{
zuce.Pwd[zu]=pwd;
zu++;
printf("*");
}
}
}
这个代码写出来后效果是可以出来,但是一点都不实用,*号不能删除!有没有跟简单一点的方法或者是函数? 展开
最好是有代码事例!
谢谢了!
这就是我自己写的:
printf("\n\n 请输入密码:");
//密码显示为*号
char pwd;
int zu=0;
while(pwd!=13)
{
pwd=getch();
if (pwd==13)
{
zuce.Pwd[zu]='\0';
break;
}else
{
if(pwd==8)
{
zuce.Pwd[zu-1]='\0';
// continue;
}else
{
zuce.Pwd[zu]=pwd;
zu++;
printf("*");
}
}
}
这个代码写出来后效果是可以出来,但是一点都不实用,*号不能删除!有没有跟简单一点的方法或者是函数? 展开
2个回答
展开全部
要删除*号的话,稍微改一下if(pwd==8)的处理,比如:
if(pwd==8)
{
if (zu > 0)
{
zuce.Pwd[zu-1]='\0';
zu--;
printf("%c",(char)8);
printf(" ");
printf("%c",(char)8);
}
// continue;
}else
用C的话密码可能差不多就这样处理吧,当然你的程式还需要改进一下,比如如果输入的超过数组的容量就skip掉,避免内存溢出。还有对一些无效的字符比如箭头按键,tab键等都skip掉,也就是限制合法字符的范围。
if(pwd==8)
{
if (zu > 0)
{
zuce.Pwd[zu-1]='\0';
zu--;
printf("%c",(char)8);
printf(" ");
printf("%c",(char)8);
}
// continue;
}else
用C的话密码可能差不多就这样处理吧,当然你的程式还需要改进一下,比如如果输入的超过数组的容量就skip掉,避免内存溢出。还有对一些无效的字符比如箭头按键,tab键等都skip掉,也就是限制合法字符的范围。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询