2024年4月25日发(作者:)
全C编程C++语言实现输入密码显示星号
(v1.1)
[摘要] 使用C++语言实现密码输入显示星号的方法
目前网上提供的输入密码显示星号的方法,多数是C语言完成实现,本程序是采用C++
语言来实现输入密码显示星号的功能。
其设计的原理是相同的,采用输入不回显屏幕的方法,然后用另一个输出星号表示输
入的密码。
另外在输入操作过程中,可能会出错,需要回退删除重新输入,与此同时还需要精确
控制删除操作,不至于将提示符删除掉。
根据这些要求实现方法如下:
///
#include
#include
using namespace std;
int main()
{
string pwd;
char ch = 0;
int chcnt = 0;
cout << "Hello world" << endl;
cout << "PASSWORD: ";
while( (ch = getch()) != 'r' )
{
if( ch == 'b' )
{
cout << ch;
cout << ' ';
cout << ch;
if( !(()) != 0 )
{
( () - 1, 1 );
}
if( chcnt <= 0)
{
cout << 'a';
cout << ' ';
chcnt++;
1 / 2
();
}
chcnt--;
}
else
{
if ( isprint( ch ) != 0 )
{
pwd += ch;
cout << '*';
chcnt++;
}
}
}
cout << endl << endl;
cout << "pwd = " << pwd << endl;
return 0;
}
这个程序里边,最关键的函数是getch()函数,它的主要用途是接受键盘输入,但不
显示到屏幕上。
为了表示每个密码结束,一般是采用回车表示结束,逻辑上先检查是否输入键入回车
“r”或13。
然后检查是否进行回退删除Backspace操作,其实就是在键盘中“b”。一旦开始进行
回退操作,在显示的时候,是以空格表示输出。然后,对输入的字符计数,精确控制计数环
节,在完全操作过程中不至于将提示符删除。
版本记录
版本
V1.0
V1.1
2 / 2
摘要
C++实现输入密码显示星号
增加摘要,修改名称,收入全C编程开发主体
时间
2015-9-12
2016/2/8


发布评论