c语言系统之家吧 关注:2贴子:18
  • 0回复贴,共1

C语言实现输入密码时隐藏并用用*显示

只看楼主收藏回复

代码如下:
#include <stdio.h>
#include <string.h>
#include <conio.h>
#pragma warning (disable:4996) //消除警告
#define N 5 //密码最长为5位数
int main() {
char password[11]; // 定义密码字符数组,第11位用于存储终止符
int i = 0;
char flag;//临时
printf("请输入最多5位的密码:");
while (1)
{
flag = _getch(); // 输入密码字符,使用getch()读取键盘输入,不进行回显
if(flag == 13) {
password[i] = '\0'; // 输入密码字符,使用getch()读取键盘输入,不进行回显
break;
}
else if (flag == 8) { // 回车键、换行键或退格键表示输入结束或回退
if (i != 0) { // 如果不是第一个字符,回退到上一个字符
i--;
putchar('\b'); // 输出退格字符,删除上一个星号
putchar(' '); // 输出空格,覆盖星号
putchar('\b'); // 再次输出退格字符,删除空格
}
}
else if(i<N) {
password[i] = flag; // 输入密码字符,使用getch()读取键盘输入,不进行回显
i++;
putchar('*'); // 输出退格字符,删除上一个星号
}
}
if (strlen(password) >0) { // 如果密码不为空
printf("\n您输入的密码是:");
printf("%s", password);
}
}


IP属地:湖北1楼2023-11-05 01:13回复