c++输入密码回显*号,删除密码去掉*号
时间: 2024-03-01 13:54:48 浏览: 69
参考 Muduo 网络库,使用 C++11 语法实现基于 Reactor 模式的高并发回显服务器。.zip
在C++中,可以使用 <conio.h> 头文件里的 getch() 和 putch() 函数来实现回显与删除。以下是一个简单的示例代码:
```c++
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
char password[20];
int i = 0;
char ch;
cout << "Please enter your password: ";
while ((ch = getch()) != '\r') { // 循环读取输入直到回车键
if (ch == '\b') { // 如果是退格键
if (i > 0) { // 如果密码长度不为0
i--;
putch('\b'); // 删除一个字符
putch(' '); // 用空格覆盖删除的字符
putch('\b'); // 将光标移回原来的位置
}
}
else { // 如果是其他字符
password[i] = ch;
i++;
putch('*'); // 输出*
}
}
password[i] = '\0'; // 将字符串末尾置为'\0'
cout << endl << "Your password is: " << password << endl;
return 0;
}
```
在这个示例代码中,先定义了一个字符数组 password 来存储密码,然后用一个循环读取用户的输入,如果是退格键则删除上一个输入的字符,如果是其他字符则输出*。最后将得到的密码输出到屏幕上。
阅读全文