c语言输入密码时隐藏密码
时间: 2023-12-29 18:00:47 浏览: 149
在C语言中,可以使用getch()函数来输入密码时隐藏密码。getch()函数不会在终端上显示用户输入的字符,而只是读取字符的ASCII码。可以通过此函数实现密码的隐藏。
具体来说,可以使用以下代码实现:
#include <stdio.h>
#include <conio.h>
int main() {
char password[20];
int i = 0;
char ch;
printf("请输入密码:");
while (1) {
ch = getch(); // 从控制台读取一个字符的ASCII码
if (ch == '\r') {
password[i] = '\0'; // 当用户按下回车键时,将密码的最后一位设置为字符串结束符
break; // 结束循环
}
else if (ch == '\b') {
if (i > 0) {
i--; // 如果用户按下退格键,则将密码的下标前移一位
printf("\b \b"); // 在终端上擦除最后一个字符
}
}
else {
password[i] = ch; // 将输入的字符存储到密码数组中
i++;
printf("*"); // 在终端上显示一个*
}
}
printf("\n你输入的密码为:%s\n", password);
return 0;
}
在上述代码中,我们使用一个字符数组password来存储用户输入的密码。使用while循环,通过getch()函数逐个字符读取用户的输入。如果用户按下回车键,则将密码的最后一位设置为字符串结束符,并结束循环。如果用户按下退格键,则将密码的下标前移一位,并在终端上擦除最后一个字符。在其他情况下,将用户输入的字符存储到密码数组中,并在终端上显示一个*。
最后,打印用户输入的密码。这样,通过getch()函数,我们就可以在C语言中实现输入密码时的隐藏。
阅读全文