c语言实现输入密码时的隐藏输入
就比如输入密码时看到的都是****,我的代码可以隐藏,但是当输入错时想退格就出现问题了,应该是if(ch == 8)那里不,麻烦鱼油们看一下吧]#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int main(void)
{
char ch;
int i=0;
while(1)
{
ch = getch();
if(ch == '\r')
{
break;
}
if(ch == 8)//这里我想判断如果输入的是删除键‘Backspace"就在终端输入框里面退去一个*,但是我这个是错的,不能实现
{
if(i>=1)
i--;
}
else
{
printf("*");
}
}
return 0;
}
麻烦鱼油们看一下{:10_297:} 应该是if(ch == 8)那里不对,该怎么改呢 唉,代码缩进乱了,再发一遍
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int main(void)
{
char ch;
int i=0;
while(1)
{
ch = getch();
if(ch == '\r')
{
break;
}
if(ch == 8)
{
if(i>=1)
i--;
}
else
{
printf("*");
}
}
return 0;
}
小甲鱼的铁粉 发表于 2020-6-20 09:02
唉,代码缩进乱了,再发一遍
我记得 conio 和 stdio 混用会出问题的来着? 永恒的蓝色梦想 发表于 2020-6-20 09:04
我记得 conio 和 stdio 混用会出问题的来着?
额,其实这里不用conio也可以 永恒的蓝色梦想 发表于 2020-6-20 09:04
我记得 conio 和 stdio 混用会出问题的来着?
那个退格怎么弄呀{:10_250:} 你不觉得无论你怎么输入,i都为0吗?i怎么可能>=1。i--又是啥?你定义了输入任何字符都用ch接收。每输入一次,就会覆盖它。当然,每次输入都会打印一个*,这是你代码,但不代表,里面接受的字符有这么多个。
页:
[1]