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