在linux 下需要登录的一个小程序,不明文显示密码,而用星号*代替,并能让用户能回退。。。

网上差了些相关资料,特此总结下。。。。。。。

lee.h        需要包含的头文件 lee.h

#ifndef _LEE_H_         //Linux platform

#define _LEE_H_

#include

#ifndef STDIN_FILENO

#define STDIN_FILENO 0

#endif

int getch(void)

{

struct termios tm, tm_old;

int fd = STDIN_FILENO, c;

if(tcgetattr(fd, &tm) < 0)

return -1;

tm_old = tm;

cfmakeraw(&tm);

if(tcsetattr(fd, TCSANOW, &tm) < 0)

return -1;

c = fgetc(stdin);

if(tcsetattr(fd, TCSANOW, &tm_old) < 0)

return -1;

return c;

}

#else                            //WIN32 platform

#include

#endif

//------------------------------------------分割符-------------------------------------------------------------------------------------

//test.c

#include "lee.h"

#include ……//你自己的头文件

#define BACESPACE 127

#define ALARM 7

#define maxline 200

void get__pwd(char *buffer)    //get  pass word,putchar '*',replace of every char user input {

int i=0;

char letter;

char ch=getchar();

while(( i < maxline ) && (letter != '\r' ))

{

letter = getch();

if(letter==BACKSPACE)    //when backspace

{

if(i>0)

{

buffer[i--]='\0';

//      putchar(BACKSPACE);

putchar('\b');

putchar(' ');

//     putchar(BACKSPACE);

putchar('\b');

continue;

}

else putchar(7);    //alarm

}

else if( letter != '\r')

{

buffer[i++]=letter;

putchar('*');

}

}

buffer[i]='\0';

}

标红,注意的点:

1. BACKSPCE的ascii 码是跟终端属性有关的,对于ubuntu而言 ,打开终端的配置属性,找到兼容性选项,对于BACKSPACE,设为Ascii DEL ,则此时为127

2. 之前putchar(BACKSPACE)总是把0x7f给输出来了,达不到预期效果,改为putchar('\b') 就可以了

linux c 密码 星号,Linux C : 登录密码星号 * 显示,包含能回退 backspace相关推荐

  1. 服务器登录密码 被修改,服务器登录密码被人改

    服务器登录密码被人改 内容精选 换一换 云堡垒机支持批量导出资源信息,用于本地备份资源配置,以及便于快速管理资源基本信息.为加强资源信息安全管理,支持加密导出资源信息.导出的主机资源文件中包含主机基本 ...

  2. 支付宝登录密码和淘宝登录密码一样吗

    支付宝登录密码和淘宝登录密码一样吗? 不一样的.淘宝会员为一个账号,只有一个密码. 支付宝注册账号是邮箱账号来的,有一个登录密码.另外有一个支付密码.是你购物的时候最后付款用的. 我网上购物的年龄已经 ...

  3. 远程修改服务器登录密码,远程服务器修改登录密码

    远程服务器修改登录密码 内容精选 换一换 本文介绍如何在裸金属服务器操作系统内部修改登录密码.建议优先在控制台上重置密码,如果不可以,再尝试在操作系统内部修改登录密码.此处以CentOS 7.5版本为 ...

  4. 怎么登录远程服务器修改密码,远程服务器修改登录密码

    远程服务器修改登录密码 内容精选 换一换 本节操作以使用"Microsoft Remote Desktop for Mac"工具远程连接"Windows Server 2 ...

  5. 登录服务器客户端密码修改,客户端服务器登录密码问题

    客户端服务器登录密码问题 内容精选 换一换 用户启用应用备份前,需先在本地服务器或虚拟机上更改安全组和安装客户端.本章节指导用户下载并安装客户端.目前仅支持64位操作系统的主机,暂不支持32位操作系统 ...

  6. 苹果用计算机知道密码,苹果电脑钥匙串登录密码忘了怎么办

    1.mac钥匙串密码忘了怎么办 不明白你的具体意思,于是猜一下: 你要使用钥匙串的时候需要密码,这个是你的管理员账户密码,也基本就是开机密码. 你重装系统了,要使用iCloud的时候需要钥匙串安全码, ...

  7. vultr服务器win系统怎么重置密码,Windows RT 重置登录密码操作方法图文教程

    今天店里有台 Asus Tablet,安装的系统是 Windows RT 平板系统,不知道被哪个顾客手贱设置了密码,所以需要重新初始化,在网上查了查,很多都是需要进系统里才可以重置密码或初始化电脑的. ...

  8. 2020无人用的邮箱和密码大全_Amazon后台登录密码错误!如何辨别账号是否被冻结?...

    啊你绝对不知道 这里每天都会更新一些跨境电商实时动态. 卖家经验交流,跨境平台动态研究, 曝光销售技巧,转化技巧,站外引流的方法 亚马逊后台登录密码错误,如何辨别账号是否被冻结?很多人一看到自己账号登 ...

  9. 计算机怎样记住用户名和密码,电脑浏览器怎么记住登录密码 电脑浏览器记住登录密码方法【详解】...

    浏览器,这是大家现在很熟悉也经常需要使用到的电脑工具.网上冲浪绝对少不了浏览器的配合,现在随着各种浏览器技术的进步,浏览器的功能也变得日趋的强大. 现在最给力的功能应该说是浏览器的自动记住密码的功能了 ...

  10. 登录无线商品服务器密码,wifi登录密码是什么_wifi登录密码初始密码是多少?-192路由网...

    wifi登录密码是什么? wifi登录密码的初始密码是多少? 这2个问题,经常有用户在找鸿哥咨询.下面鸿哥通过这篇文章,来详细说明wifi登录密码的问题. wifi登录密码,严谨的说法,应该是叫做路由 ...

最新文章

  1. 不再使用快捷方式打开电脑软件!如何Windows+r 来打开一个你想要打开的软件软件?
  2. CopyCat 代码克隆检测发布,剑指开源软件抄袭
  3. Android从普通发送和接收短信到对短信进行拦截
  4. flutter 打开后闪退_vscode 扩展 pubspec 依赖快速打开文档
  5. java 给出两个整数a和b , 求他们的和。不用用运算符+
  6. 传输分析_密西根大学倪军谈信息传输与分析成本:5G的推广让该问题不复存在...
  7. Zuul使用Ribbon配置自动重试
  8. Linux系统移植学习
  9. Testbench编写
  10. 老版TP-Link路由器设置固定时间上网
  11. 安全研究 # Neural Network-based Graph Embedding for Cross-Platform Binary Code Similarity Detection
  12. 39 操作系统 18h-北京大学陈向群老师
  13. Java8集合过滤操作
  14. 电商十大暴利产品排名
  15. 【VMware】Ubunt 20.04时间设置
  16. Latex学习笔记(二)各标题的大小设置
  17. 深度学习Week14-yolov5s.yaml文件解读(YOLOv5)
  18. Windows XP操作系统自动关机的实现
  19. ai人工智能的本质和未来_人工智能手中的网络安全的未来
  20. SpringCloud微服务实战——搭建企业级开发框架(四十八):【移动开发】整合uni-app搭建移动端快速开发框架-使用第三方UI框架

热门文章

  1. Server的Transfer和Response的Redirect
  2. Linux内存管理:Linux 可加载内核模块剖析:2.6 内核透视图
  3. html-webpack-template, 一个更好的html web service插件
  4. Python学习笔记(matplotlib篇)--多图figure
  5. VCL从RES中读取皮肤
  6. 17秋 SDN课程 第五次上机作业
  7. python:configparser模块
  8. Wamp在重新装机后不想配置
  9. 【原】GitHub使用教程
  10. 探讨 .NET 语言的 using statement 与资源释放