标题:密码非回显法的深度问题
只看楼主
jafisher
Rank: 1
等 级:新手上路
威 望:1
帖 子:12
专家分:8
注 册:2010-7-24
结帖率:50%
已结贴  问题点数:20 回复次数:3 
密码非回显法的深度问题
我的程序可以在输入密码时可以只显示*号,但是不能倒退删除输入的字符,
比如说我想输入123,但输成了132,屏幕显示的是***,我想删掉32,但显示的是******了,如何解决?求教高手,,,

int i = 0;
char password[10];  //数组大小自定

//当输入的不是回车符时,就把输入的字符赋给数组的第i+1个位置
while((password[i]=getch())!='\r')                        
{
  cout<<"*";  //每输入一个字符,就显示一个*号
  i++;
}

//当输入回车符时把字符串结束符赋给数组最后一个位置
password[i] = '\0';  

if(strcmp(password, "2010") == 0)
{
  ...
  ...
}
搜索更多相关主题的帖子: 密码 深度 
2010-09-26 00:03
cacker
该用户已被删除
得分:20 
提示: 作者被禁止或删除 内容自动屏蔽
2010-09-26 01:21
jafisher
Rank: 1
等 级:新手上路
威 望:1
帖 子:12
专家分:8
注 册:2010-7-24
得分:0 
  试过了,这样的话还是不能删除之前的*号,还有
if(ch == '退格的ASCII码  你自己查') ‘’里面应该填的是退格的转义字符才对吧,
我查了下,退格的转义字符是\b,但它只能把光标移到前一个位置,还是不能删除前一个字符啊
2010-09-26 20:36
cacker
该用户已被删除
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-09-26 22:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-321353-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.295566 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved