注册 登录
编程论坛 C++教室

C++的关于密码

amdam23000 发布于 2007-05-12 14:35, 499 次点击
怎样实现输入密码时显示出“*****”以防止密码外泄??
会的帮帮忙啊~~~~无限感激~~~~~
4 回复
#2
jiangzw6252007-05-12 15:12
用getch(),他不回显。
然后再用putchar()输出*就可以
大概就是
while(ch = getch())
{
if(ch !='\b' && ch! = '\n')
{
putchar('*');
}
}
#3
amdam230002007-05-12 21:32
恩,是了~~~可以用getch()加上printf("*");
谢了!!
还有的是, 在这结构中怎样能实现在输入时用“Backplace”以及其他按键来修改密码???


#4
kisscjy2007-05-12 21:36
应该可以在输入时用倒退键来消除输入

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

PS:星佑,多读点书吧
#5
yuyunliuhen2007-05-12 21:47

https://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编辑过]

1