如何从控制台获取密码字符,但将其作为星号回显

时间:2017-11-26 14:59:53

标签: c input

我想知道如何使用

从控制台中获取字符
scanf, getch()

或其他东西,当用户提供输入时,我希望屏幕显示:

******
每个角色

1 个答案:

答案 0 :(得分:1)

如果您使用的是Windows,我认为您可以使用下面给出的内容 -

#include <stdio.h>
#include <conio.h>
int main(){
    char str[8];
    int i=0;
    printf("Enter the password :\n");
    while (i< 8){
        str[i]=getch();
        printf("*");
        i++;
    }
    str[i]='\0';
    return 0;
}

在类似Unix的系统上,getch()功能并不容易获得。 (cursesncurses库提供了一个函数getch(),但您必须调用函数来正确设置终端,然后将其重置为已知状态。)