[vc win32 console 模式适用]获取输入的密码,以*显示,并支持退格的函数
2009-09-08 21:25
204 查看
简要说明:
写控制台程序的时候有时候需要输入密码,以下示例程序可以支持用*代替输入,也支持退格,核心逻辑封装在getPassword函数中。
key:
1、getch() ->获得一个字符,但不输出到控制台上
2、'/r' -> 回车操作捕获
3、'/b' ->退格操作捕获
4、printf("/b /b"); ->这句比较经典,变的实现了清除输入的功能
写控制台程序的时候有时候需要输入密码,以下示例程序可以支持用*代替输入,也支持退格,核心逻辑封装在getPassword函数中。
key:
1、getch() ->获得一个字符,但不输出到控制台上
2、'/r' -> 回车操作捕获
3、'/b' ->退格操作捕获
4、printf("/b /b"); ->这句比较经典,变的实现了清除输入的功能
#include <conio.h> #include <string> #include <iostream> using namespace std; void getPassword(char *desStr, int maxLen); #define MAX_PASSWORD_LEN 256 char *rightPwStr = "123456"; int main(int argc, char* argv[]) { printf("Enter Password : "); char pwStr[MAX_PASSWORD_LEN] = {0}; getPassword(pwStr, MAX_PASSWORD_LEN); string curStr = pwStr; if (curStr.compare(rightPwStr)) { printf("Password Incorrect!/n"); } else { printf("Password Correct!/n"); } return 0; } void getPassword(char *desStr, int maxLen) { int i = 0; while (i < maxLen) { desStr[i] = getch(); // »ñÈ¡µ½»Ø³µ½áÊøÊÕ¼¯ if ('/r' == desStr[i] || '/n' == desStr[i]) { putchar('/n'); break; } // Ö§³ÖºóÍ˲Ù×÷ else if ('/b' == desStr[i] && i > 0) { printf("/b /b"); // Í˸ñ£¬¿Õ¸ñÌæ´ú£¬Í˸ñ£¬Çå³ýÊäÈë i--; continue; } // ûÓÐÊäÈëʱ£¬²»¶ÔºóÍ˽øÐÐÏìÓ¦ else if ('/b' == desStr[i]) { continue; } putchar('*'); i++; } desStr[i] = 0; }
相关文章推荐
- win32平台下:cocos2d-x中继承并重写CCTextFieldTTF类,实现密码框输入时,*显示
- 用VC实现输入密码,显示**
- EditText 光标位置、密码输入模式、显示和隐藏软键盘
- Android中显示输入的隐藏密码/Android多语系支持
- 密码框失去焦点且为空时显示汉字“密码”、获取焦点时输入内容显示为密码“**********”的实现方法
- VC实现文本输入框密码的显示与隐藏
- 如何在console输入密码的时候不在屏幕上显示?
- 在Win32程序中显示Dos调试窗口,可暂停(AllocConsole,WriteConsole,FreeConsole函数,GetStdHandle函数取得输入句柄)
- VC GetGlyphOutline函数获取显示字符的图形数据(转)
- [Win32]获取QQ密码输入框所属进程ID
- 在console模式下实现密码的输入
- Oauth支持的5类 grant_type 及说明 authorization_code — 授权码模式(即先登录获取code,再获取token) password — 密码模式(将用户名,密码传
- 输入密码时显示*并且退格可以删除密码
- Android中显示输入的隐藏密码/Android多语系支持
- VC++获取当前系统时间日期 GetSystemTime()函数的用法
- android 密码输入通过复选框实现明文密文显示
- 密码输入框无内容时候显示提示字,有内容则为password
- js点击 密码输入框密码显示隐藏
- 用VC++实现Console程序显示彩色文本
- 自定义编辑框VC,可加载更改字体,添加背景图片,显示输入提示信息