1. 我们在平常输入密码是,不能直接显示密码,应该显示*或者其它字符。
void inputPwd(char *pwd,int length)
{char ch; // 用来存储getch()都进来的字符int i = 0;while (1){ch = getch(); /*这个函数可以实现输入不回显(输入不在终端显示)*/if (ch == '\r') /*密码输入结束输入回车(getch回车符返回\r,不同接口返回的不同)*/{pwd[i] = '\0'; /*将字符数组最后一位设置为0,作为字符串方便操作*/break;}/*不将换行放到pwd中,所以放在判断的下面*/pwd[i++] = ch; /*将得到的字符放到字符数组中*/cout << '*'; /*每保存一个字符打印一个*/}}
以上的接口, 实现了当我们输入密码是显示*,实现密码的隐藏。
1) 使用getch()输入字符, 它不会将输入回显到屏幕上。
2) 当我们输入密码结束时,一般会输入一个换行,所以我们以换行作为密码输入的结束
3) 密码是一个字符串,但是getch()每次得到一个字符,所以需要一个循环,而且我们需要准备一个数 组来存放输入的多个字符,组合成密码。(就是代码中的pwd)