标题:C++的关于密码
只看楼主
amdam23000
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-5-10
 问题点数:0 回复次数:4 
C++的关于密码
怎样实现输入密码时显示出“*****”以防止密码外泄??
会的帮帮忙啊~~~~无限感激~~~~~
搜索更多相关主题的帖子: 密码 
2007-05-12 14:35
jiangzw625
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2006-3-27
得分:0 
用getch(),他不回显。
然后再用putchar()输出*就可以
大概就是
while(ch = getch())
{
if(ch !='\b' && ch! = '\n')
{
putchar('*');
}
}

马马乎乎
2007-05-12 15:12
amdam23000
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-5-10
得分:0 
恩,是了~~~可以用getch()加上printf("*");
谢了!!
还有的是, 在这结构中怎样能实现在输入时用“Backplace”以及其他按键来修改密码???


2007-05-12 21:32
kisscjy
Rank: 1
等 级:新手上路
帖 子:217
专家分:0
注 册:2007-4-9
得分:0 
应该可以在输入时用倒退键来消除输入

如果不行,发源代码来看一下~~~

PS:星佑,多读点书吧

每当我一晚写下70,80个程序时,你还真以为,这都是我一个人干的.....不过说真的,其实都是抄书的~~ ^@^
2007-05-12 21:36
yuyunliuhen
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1435
专家分:0
注 册:2005-12-12
得分:0 

http://bbs.bc-cn.net/viewthread.php?tid=102975&star=at
#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
char password[100];
int index=0;
while(1)
{
char ch;
ch=getch();
if(ch==8) //退格键
{
if(index!=0)
{
cout<<char(8)<<" "<<char(8);
index--;
}
}
else if(ch=='\r') //回车键
{
password[index]='\0';
cout<<endl;
break;
}
else
{
cout<<"*";
password[index++]=ch;
}
}
cout<<"password:"<<password<<endl;
return 0;
}

[此贴子已经被作者于2007-5-13 13:20:37编辑过]


Go confidently in the  directions of your dreams,live the life you have imagined!Just do it!
It is no use learning without thinking!
2007-05-12 21:47



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




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

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