如何在C语言程序框里面实现像输入QQ密码,输进去密码显示出来的就是*号,然后按退格键可以删除*号。
首先我们要知道如何输入字符串,我们经常使用scanf这个函数来输入,但是这是对字符串的操作,而getch()这个函数可以获得键盘缓存中的一个字符!
getch()
用ch=getch();会等待你按下任意键之后,把该键字符所对应的ASCII码赋给ch,再执行下面的语句。
自定义函数
/*隐藏用户输入*/
void HiddenInput(char password[20])
{
char p=0;
int i=0;
while(p=getch())
{
if(i>=20)
break;
if(p==13)
break;
if(p!='\b')
{
password[i] = p;
printf("*");
i++;
}
else
{
printf("\b \b");
i--;
}
}
password[i]='\0';
printf("\n");
}
如果大家还想让密码只能是字母和数字组成,只需要下面这个判断即可。
if(!((p<='Z'&&p>='A')||(p<='z'&&p>='a')||(p<='9'&&p>='0')))
continue;
希望这个函数能解决大家的问题。