当前位置:首页 C++ > 正文

c++输入密码以星号代替

作者:野牛程序员:2023-07-19 10:32:00 C++阅读 2605

在C++中,控制台输入密码并将其以星号代替可以通过以下方法实现:

#include <iostream>
#include <conio.h>  // 需要使用conio.h头文件

int main() {
    char password[20];
    int i = 0;
    char ch;

    std::cout << "Enter password: ";

    while (true) {
        ch = _getch();  // 使用_getch()函数从控制台读取字符,而不在控制台上显示输入字符

        if (ch == 13)  // 如果输入的是回车键(ASCII码为13),则停止读取
            break;

        password[i++] = ch;
        std::cout << "*";  // 显示星号代替实际字符
    }

    password[i] = '\\0';  // 将字符串以空字符结尾,形成有效的C字符串

    std::cout << std::endl << "Password entered: " << password << std::endl;

    return 0;
}

在这个示例中,使用了conio.h头文件中的_getch()函数来读取字符而不显示在控制台上。在每次读取到字符时,将其存储在字符数组password中,并在控制台上显示星号代替。当用户按下回车键(ASCII码为13)时,退出循环,并在最后输出输入的密码。

请注意,这种方法只是在控制台中有效,并不适用于图形界面应用程序。另外,conio.h头文件在一些编译器中可能不可用。如果你遇到问题,请尝试使用其他方法来实现类似的功能。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击