博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++输入密码不显示明文
阅读量:5073 次
发布时间:2019-06-12

本文共 1555 字,大约阅读时间需要 5 分钟。

之前有遇到需求说输入密码不显示明文,但同时会有一些其他问题,暂时没做,如今经过尝试可以实现,但是得先知道要输入的是密码。主要利用的getch()函数的不回显特点。需要注意的是这个函数不是标准函数,而且使用VS2013有提示换成_getch()。具体代码以及效果如下:

1 /* 2 2018年9月13日21:24:48 3  4 实现输入密码时候不显示明文 5  6 */ 7  8  9 #include 
10 11 #include
12 #include
13 using namespace std;14 15 //https://zhidao.baidu.com/question/235215029.html16 string getpasswordwithoutplaindata()17 {18 string ret;19 char ch;20 ch = _getch();21 while (ch != '\n' && ch != '\r')22 {23 ret += ch;24 //cout << "debug:" << ret << endl;25 ch = _getch();26 }27 28 return ret;29 30 }31 32 string getpasswordwithstar()33 {34 string ret;35 char ch;36 ch = _getch();37 while (ch != '\n' && ch != '\r')38 {39 _putch('*');40 ret += ch;41 ch = _getch();42 }43 44 return ret;45 46 }47 48 49 string getpasswordanotherchar(char rch)50 {51 string ret;52 char ch;53 ch = _getch();54 while (ch != '\n' && ch != '\r')55 {56 _putch(rch);57 ret += ch;58 ch = _getch();59 }60 61 return ret;62 63 }64 65 int main()66 {67 string password;68 cout << "input your password:" << endl;69 //password = getpasswordwithoutplaindata();70 //password = getpasswordwithstar();71 password = getpasswordanotherchar('+');72 cout <<"\nThe password you input is :"<< password << endl;73 return 0;74 }

功能是输入字符不显示或者显示其他字符,按下回车或结束输入,并且将刚才输入的密码显示出来。不同效果如下:

 

 

 

转载于:https://www.cnblogs.com/youdias/p/9643456.html

你可能感兴趣的文章
[warn] the "ssl" directive is deprecated 这是什么意思
查看>>
错误: “WebForm_DoPostBackWithOptions”未定义
查看>>
编辑crontab添加Linux计划任务
查看>>
ubuntu vlan配置 (modules)
查看>>
java线程
查看>>
如何理解和熟练运用js中的call及apply?
查看>>
恋恋风辰 对于redis底层框架的理解(一)
查看>>
反编译工具Reflector下载(集成FileGenerator和FileDisassembler)
查看>>
4.14数学
查看>>
Cookie的弊端
查看>>
[Yii Framework] spl_autoload_register 导致加载顺序冲突
查看>>
梦断代码阅读笔记01
查看>>
设计模式14-责任链模式
查看>>
测试总结
查看>>
android各种菜单使用介绍
查看>>
反汇编逆向实例_简单函数调用
查看>>
HTML水平居中和垂直居中的实现方式
查看>>
hadoop--安装
查看>>
Unique Paths II
查看>>
网口扫盲三:以太网芯片MAC和PHY的关系
查看>>