C语言编程中实现输入密码回显星号
getc()和getchar()函数想必大家都经常用到,但它们都在输入的同时显示输入内容,并由回车终止输入。为了不显示输入内容,我们调用另外一个函数getch(),它包含在头文件中。该函数可以在输入的同时不显示输入内容,并在输入完成后不需回车而自动终止输入。与此同时,该头文件中还包含另外一个函数getche(),它和getch()功能相同,唯一的区别是输入的同时显示输入的内容。本文我们只用到getch();
一、输入密码回显星号
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#define MAX_PASSWD_LEN 16
char passwd[MAX_PASSWD_LEN + 1] = "";
char *GetPasswd()
{
unsigned char c;
int i = 0;
while ((c=getch())!='\r')
{
if (i<MAX_PASSWD_LEN && isprint(c))
{
passwd[i++] = c;
putchar('*');
}
else if (i>0 && c=='\b')
{
--i;
putchar('\b');
putchar(' ');
putchar('\b');
}
}
putchar('\n');
passwd[i] = '\0';
return passwd;
}
二、输入密码不回显
与回显星号的代码基本相同,只是去掉打印输出的代码。
#include <conio.h>
#include <ctype.h>
#define MAX_PASSWD_LEN 16
char passwd[MAX_PASSWD_LEN + 1] = "";
char *GetPasswd()
{
unsigned char c;
int i = 0;
while ((c=getch())!='\r')
{
if (i<MAX_PASSWD_LEN && isprint(c))
{
passwd[i++] = c;
}
else if (i>0 && c=='\b')
{
--i;
}
}
passwd[i] = '\0';
return passwd;
}
C语言编程中实现输入密码回显星号相关推荐
- c语言中回显,C语言编程中实现输入密码回显星号
C语言编程中实现输入密码回显星号 众所周知,一个良好的密码输入程序是在用户输入密码时不显示密码本身,只回显星号. 或者,在安全性要求更高的某些程序中,什么都不显示.那么,在C语言中如何实现它呢? ge ...
- C++输入密码回显星号
C++输入密码回显星号 password.cpp #include <iostream> #include <string> #include "password.h ...
- 在Windows和Linux系统上,用C语言实现命令行下输入密码回显星号和完全隐藏密码
本篇目录 引子 在Windows 上实现 在Linux上实现 回显星号 代码解读 运行 完全隐藏 运行 引子 在Windows系统上,当我们使用命令行和MySQL进行交互时,第一步就是要输入密码: - ...
- 学生管理系统 C语言 动态链表 结构体 文件操作 设置密码 输入密码回显星号
C语言 学生管理系统代码 实现功能 功能:学生管理系统设计,每个学生信息作为一条记录,包括姓名.学号.专业. 性别.年龄. 电话.家庭住址.还可以继续拓展 系统要求实现以下功能: 1.输入功能: ...
- c语言实现 输入密码回显星号(删除密码去掉星号)
相关函数介绍 getch() 所在头文件:#include< conio.h> 函数原型:int getch(void) 返回值:读取的字符的ASCII码值(整数) 功能介绍:直接读取字符 ...
- [心得]C语言中实现密码输入 回显星号*
C语言为密码输入提供了一函数getpass(); #include <stdio.h> #include <unistd.h> int main() { char *passw ...
- c语言中错误executing,C语言编程中常见问题解读.doc
C语言编程中常见问题解读 为什么vc6打开的文件却不能编译1 为什么一个vc6工程中有两个main函数不能编译成功?我想写两个程序怎么办?2 为什么v6不能编译程序,生成信息说compile和link ...
- 《C语言解惑》—— 第一篇 C语言编程中的对与错
本节书摘来自华章出版社<C语言解惑>一 书中的第1章,第1.1节,作者:刘振安 刘燕君,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 第一篇 C语言编程中的对 ...
- 请描述定时器初值的计算方式_单片机C语言编程中定时器初值计算的两种方法...
单片机C语言编程中,定时器的初值对于初学者真的是比较不好计算,因此我总结了以下几种方法. 第1种方法: #define FOSC 11059200L //晶振的频率 #define TIMS (655 ...
最新文章
- yd的拔钉子之路之 POI 2017
- vbs病毒分析神技——使用VS2017调试vbs脚本
- 关于sql中去换行符的问题
- 已经被处理的消息不能丢
- spring 异常捕获异常_跟踪异常–第5部分–使用Spring进行计划
- 还有人不知道什么是AndroidX的吗?文末领取面试资料
- Java设计模式学习总结(12)——结构型模式之外观模式
- 大数据_Flink_Java版_数据处理_流处理API_Sink操作_把数据存储到ElasticSearch---Flink工作笔记0040
- HTTP之一:http协议简介(3)
- PHP学习笔记--函数
- opengl 遇到的基础问题
- 连接服务器打印机文件名无效,excel服务器-办公室常识——共享服务器文件报错,共享打印机无法打印的解决办法(解决word、excel不能打印))...
- R语言McSpatial_R语言天气可视化应用
- 微积分基础-极限,导数,反导数
- QT开发应用程序(17)-- 读写XLS文件
- CAAI名誉理事长李德毅院士谈机器的生命观
- JAVA编写元音字母(Switch语句)
- 企业文件分享/共享有哪些安全方式
- C# 里弹出“确定”“取消”对话框
- 关于socket长连接的心跳包