使用 | 您所在的位置:网站首页 › 无回显输入 › 使用 |
C语言模拟密码输入
使用_getch()函数实现密码的隐私输入函数特点使用getch() 函数实现密码输入
使用_getch()函数实现密码的隐私输入
getch()是windows的conio.h中的一个库函数,用于读取键盘输入的数据。 函数特点getch() 函数没有缓冲区,在键盘输入一个字符后会立即读取,不需要等待回车键按下。getch() 的特别之处是它没有回显,用户看不到输入的字符。 使用getch() 函数实现密码输入目标: 模拟密码输入,用*回显; 约束密码位数,设置为10-16位; 能够使用删除键删除错误输入。 代码如下: #include #include #include int getPassword(char *pwd); int main() { char password[17] = {0}; printf("请输入10-16位密码: "); int result = 0; while(result != getPassword(password)); printf("密码: %s\n", password); return 0; } /** * 获取用户输入的密码 * @param pwd char* 保存密码的内存的首地址 **/ int getPassword(char *pwd) { char ch = 0; int i = 0; while (i < 17) { ch = _getch(); if (ch == '\b' && i > 0) { //删除功能 i--; printf("\b \b"); } if ((ch == '\r') && (i < 10)) { //过短判断 printf("\n密码长度过短,请重新输入密码\n"); return 1; } if ((i == 16)&&(ch != '\r')) { //过长判断 printf("*\n密码长度过长,请重新输入密码\n"); return 1; } if ((10 |
CopyRight 2018-2019 实验室设备网 版权所有 |