c语言密码输入隐藏显示星号
作者:野牛程序员:2023-07-03 07:19:08C语言阅读 2994
在C语言中,密码输入通常需要隐藏用户输入的字符,可以使用库函数 getch()
来实现这一功能。以下是一个示例代码,可以隐藏用户输入的密码并用星号代替:
#include <stdio.h> #include <conio.h> // 包含 getch() 函数 #define MAX_PASSWORD_LENGTH 20 // 定义密码的最大长度 int main() { char password[MAX_PASSWORD_LENGTH]; char ch; int i = 0; printf("Enter password: "); while (1) { ch = getch(); // 读取单个字符,但不回显到屏幕上 if (ch == '\\r') { password[i] = '\\0'; // 输入结束,添加字符串结束符 break; } else if (ch == '\\b' && i > 0) { printf("\\b \\b"); // 擦除最后一个字符 i--; } else if (ch != '\\b' && i < MAX_PASSWORD_LENGTH - 1) { password[i] = ch; printf("*"); // 显示星号代替字符 i++; } } printf("\\nPassword: %s\\n", password); return 0; }
在这个示例中,使用了 getch()
函数读取用户的输入,ch
变量存储了输入的字符。如果输入的是回车键 \\r
,则表示输入结束;如果输入的是退格键 \\b
,则删除最后一个字符;否则,将输入的字符存储在 password
数组中,并用星号 *
代替显示在屏幕上。输入的密码以字符串形式存储在 password
数组中,然后打印出来进行验证。
请注意,这个示例代码使用了 conio.h
头文件中的 getch()
函数,该函数在不同的编译环境中可能有所差异。如果你在使用不同的编译器或操作系统,请确保正确包含相应的头文件,并使用对应的函数来隐藏密码输入。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:c语言输入密码判断是否正确
- 下一篇:c语言密码错误3次自动退出