隐藏密码输入

问题描述:将用户输入的密码以"***"格式显示
  1. #include<iostream>
  2. #include <conio.h>
  3. #include <ctype.h>
  4. using namespace std;
  5. int main()
  6. {
  7.     int ch;
  8.     cout<<"Input your password, end input plz enter '^'"<<endl;
  9.     do
  10.     {
  11.         ch=getch();
  12.         cout<<"*";
  13.     }while(ch!='Y');
  14.     getchar();
  15.     return 0;
  16. }

在C语言中,可以使用getch()函数来输入密码隐藏密码。getch()函数不会在终端上显示用户输入的字符,而只是读取字符的ASCII码。可以通过此函数实现密码隐藏。 具体来说,可以使用以下代码实现: #include <stdio.h> #include <conio.h> int main() { char password[20]; int i = 0; char ch; printf("请输入密码:"); while (1) { ch = getch(); // 从控制台读取一个字符的ASCII码 if (ch == '\r') { password[i] = '\0'; // 当用户按下回车键时,将密码的最后一位设置为字符串结束符 break; // 结束循环 } else if (ch == '\b') { if (i > 0) { i--; // 如果用户按下退格键,则将密码的下标前移一位 printf("\b \b"); // 在终端上擦除最后一个字符 } } else { password[i] = ch; // 将输入的字符存储到密码数组中 i++; printf("*"); // 在终端上显示一个* } } printf("\n你输入密码为:%s\n", password); return 0; } 在上述代码中,我们使用一个字符数组password来存储用户输入密码。使用while循环,通过getch()函数逐个字符读取用户的输入。如果用户按下回车键,则将密码的最后一位设置为字符串结束符,并结束循环。如果用户按下退格键,则将密码的下标前移一位,并在终端上擦除最后一个字符。在其他情况下,将用户输入的字符存储到密码数组中,并在终端上显示一个*。 最后,打印用户输入密码。这样,通过getch()函数,我们就可以在C语言中实现输入密码时的隐藏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值