使用带有星号字符的c在控制台应用程序中获取密码

时间:2015-04-13 01:53:38

标签: c passwords

当用户输入密码字符时,我将开发一种在命令行中获取密码并为每个字符显示*的方法。我的编程语言是c,我也喜欢c代码 我尝试这个代码,但它不起作用,它不会隐藏密码字符,也不会终止接收密码。

int i,j=1;
printf("Enter your PASSWORD : ");
while(j > 0)
{
    c=getch();
    if (c==13) j=0;
    else
    {
        password[i] = c;
        printf("*");
        i++;
    }
}
printf("You Entered %s ", password );
printf("as an PASSWORD");

1 个答案:

答案 0 :(得分:1)

好吧,我在代码中看不到任何问题,除了'i'在递增之前没有被初始化为0。这是您的代码的简化版本。

    int i=0; char c, pass[101];
    printf("Enter your PASSWORD (100 Chars max): ");
    while(c!=13 && i<100){
        pass[i++]=c=getch();
        printf((c!=13)?"*":"\n");
    }
    pass[i--] = '\0';
    printf("\n\tYou Entered %s ", pass);