鱼C论坛

 找回密码
 立即注册
查看: 1582|回复: 3

c语言实现输入密码时的隐藏输入

[复制链接]
发表于 2020-6-20 08:57:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
就比如输入qq密码时看到的都是****,我的代码可以隐藏,但是当输入错时想退格就出现问题了,应该是if(ch == 8)那里不,麻烦鱼油们看一下吧[/size
]

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<conio.h>
  4. int main(void)
  5. {   
  6.         char ch[30];   
  7.         int i=0;
  8.         while(1)   
  9.         {        
  10.                 ch[i] = getch();  
  11.         if(ch[i] == '\r')
  12.                 {      
  13.                         break;  
  14.             }
  15.                 if(ch[i] == 8)
  16.                 {
  17.                         if(i>=1)//这里我是想判断是否为删除键,是的话退格,但是错了,该怎么实现退格呢
  18.                                 i--;
  19.                 }
  20.                 else
  21.                 {
  22.                         printf("*");  
  23.                 }   
  24.         }
  25.         return 0;
  26. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-21 09:28:53 | 显示全部楼层
正如我上个回复所说,你的密码并没有被隐藏,而是输入一个,就删除了一个。你把i赋值为0,i从来没变过,一直为0。不存在i>=1的情况。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-22 08:53:55 | 显示全部楼层
个人感觉可以参考数组的插入与删除诶,但楼主这样的写法貌似也并麻油正经输入,因为一直都是覆盖了ch[0]的值,i并没有变化,那个i>=1的判断始终不成立。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-22 17:31:01 | 显示全部楼层
南七 发表于 2020-6-22 08:53
个人感觉可以参考数组的插入与删除诶,但楼主这样的写法貌似也并麻油正经输入,因为一直都是覆盖了ch[0]的 ...

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-1 00:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表