C:终端输入密码回显加密 显示*

#include <stdio.h>
#include <conio.h>
#include <ctype.h>

char* HidePasswd(char* passwd)
{
    char c;
    int i = 0;
    while ((c=getch())!='\r')
    {
        if ( isprint(c))//判断字符是否为可打印字符
        {
            passwd[i++] = c;
            putchar('*');
        }
        else if (i>0 && c=='\b')
        {
            --i;
            putchar('\b');
            putchar(' ');
            putchar('\b');
        }
    }
    if(i > 0)
    {
        putchar('\n');
    }
    passwd[i] = '\0';

    return passwd;
}

int main()
{
    char passwd[12] = "";
    HidePasswd(passwd);
    puts(passwd);
}

猜你喜欢

转载自blog.csdn.net/weixin_43719811/article/details/88736512