当前位置:首页C语言 > 正文

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
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击