作者共发了5篇帖子。
字体大小:较小 - 100% (默认)  内容转换:不转换
 
点击 回复
1418 5
【程序】C语言输入密码显示*
巨大八爪鱼
武林盟主 二十一级
回复
1楼 发表于:2016-6-19 12:36
#include <conio.h>
#include <stdio.h>

void main()
{
    char buf[100];
    int i = 0;
    printf("请输入密码: ");
    while ((buf[i] = _getch()) != '\r')
    {
        putchar('*');
        i++;
    }
    buf[i] = '\0';

    printf("\n密码是: %s\n", buf);
}
巨大八爪鱼
武林盟主 二十一级
回复
2楼 发表于:2016-6-19 12:41
【增加退格功能】
#include <conio.h>
#include <stdio.h>

void main()
{
    char buf[100];
    int i = 0;
    printf("请输入密码: ");
    while ((buf[i] = _getch()) != '\r')
    {
        if (buf[i] == '\b')
        {
            putchar('\b');
            putchar(' ');
            putchar('\b');
            i--;
        }
        else
        {
            putchar('*');
            i++;
        }
    }
    buf[i] = '\0';

    printf("\n密码是: %s\n", buf);
}
巨大八爪鱼
武林盟主 二十一级
回复
3楼 发表于:2016-6-19 12:44
【增加了防止退格键把“请输入密码"清除的功能】
#include <conio.h>
#include <stdio.h>

void main()
{
    char buf[100];
    int i = 0;
    printf("请输入密码: ");
    while ((buf[i] = _getch()) != '\r')
    {
        if (buf[i] == '\b')
        {
            if (i == 0)
                continue;
            putchar('\b');
            putchar(' ');
            putchar('\b');
            i--;
        }
        else
        {
            putchar('*');
            i++;
        }
    }
    buf[i] = '\0';

    printf("\n密码是: %s\n", buf);
}
巨大八爪鱼
武林盟主 二十一级
回复
4楼 发表于:2016-6-19 12:44
【运行效果】
巨大八爪鱼
武林盟主 二十一级
回复
6楼 发表于:2025-12-29 10:51
windows系统下输入密码一般显示成星号✳️。
linux系统的终端下输入密码什么都不显示。
回复帖子
内容:
用户名: 您目前是匿名发表。
验证码:
看不清?换一张
(快捷键:Ctrl+Enter)
本帖信息
点击数:1418 回复数:5
作者:巨大八爪鱼
最后回复:巨大八爪鱼
最后回复时间:2025-12-29 10:51
公告板