c++ - 我怎样才能让退格不算作一个字符?
问题描述
所以,我必须用密码加密我的控制台应用程序,我做了一些工作但有一个问题,backsapce 不会删除输入的字符,它也算作一个字符,我怎样才能让它完成它的工作,抹去人物?
这是代码:
void main()
{
char password[20], my_password[20] = "password";
int i;
char ch;
system("cls");
cout << "PASSWORD: ";
i = 0;
do
{
ch = _getch();
password[i] = ch;
if (ch != 27 && ch != 13 && ch != 9)
cout<<"*";
else
break;
i++;
} while (i < 19);
password[i] = '\0';
if (strcmp(password, my_password) != 0)
{
cout << "\n\nIncorrect password !!!";
cin.get();
return;
}
cout << "\n\nPassword is correct !";
cout <<"\n\nThe program is executed !";
cin.get();
}
解决方案
“我怎样才能让它完成它的工作,抹去这个角色?”
使用curses
图书馆。像ncurses。
推荐阅读
- python - 如何对 groupby 结果的第一个值求和并将其写为相关组中的 df 列
- c - Matlab 中的 mxArrayToString() 函数
- regex - 当在整个字符串中找不到特定单词时如何获得不“命中”?
- ios - iOS 13 中的 UISearchBar 在关闭 (x) 按钮旁边有一个小黑点
- python - python中的拆分函数以将字符串与逗号分开
- flutter - 仅滚动特定容器
- reactjs - 如何使用 useMutation 或 useQuery 作为 React 或 React Native 的钩子?
- javascript - 无限滚动重复列表结果 [ReactJS]
- flutter - Flutter 自动为 TabBarView 设置高度
- react-native - 当我尝试运行 react-native run-android 命令时出错