用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("*");
}
}
}
这个代码写出来后效果是可以出来,但是一点都不实用,*号不能删除!有没有跟简单一点的方法或者是函数?
展开
 我来答
sai_84
2010-10-23 · TA获得超过531个赞
知道小有建树答主
回答量:264
采纳率:100%
帮助的人:414万
展开全部
要删除*号的话,稍微改一下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掉,也就是限制合法字符的范围。
村野穷儒
2010-10-23 · 超过14用户采纳过TA的回答
知道答主
回答量:25
采纳率:0%
帮助的人:0
展开全部
输密码的时候用getche()函数
该函数不回显输入的数据
也就是说从键盘上输入的数据不显示这屏幕上
然后你用printf("*");
while(psw[i++]=getche()){
if(psw[i-1]=='\n'){psw[i-1]='\0';break;}
printf("*");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式