C语言:输入密码时先显示正常数据,300毫秒后变成*号,用Sleep和getch()要怎么写?

2024年11月18日 07:28
有3个网友回答
网友(1):

#include
#include
using namespace std;
#随手写了一个,自己处理一下回退键逻辑
std::string szStar = "";
char c = NULL;
int i = 0;
do
{
c = _getch();
if (c == '\r')
{
break;
}
cout << c;
szStar.assign(i+=1, '*');
Sleep(300);
system("cls");
cout << szStar.c_str();
} while (c != '\r');

网友(2):

要么清屏要么用控制台API函数
或者试试向输入流写回退键

网友(3):

说实话,我连个连英文怎么念都不会