社区
Linux/Unix社区
帖子详情
如何让输入字符不回显(不使用curses库)
天蛾糊
2009-10-29 01:01:12
我在做密码输入的程序,用curses库已经实现了,但我觉得不方便,想请教各位高手来指点,谢谢
比如输入一个字符显示一个*直到'\n'为止
...全文
100
1
打赏
收藏
如何让输入字符不回显(不使用curses库)
我在做密码输入的程序,用curses库已经实现了,但我觉得不方便,想请教各位高手来指点,谢谢 比如输入一个字符显示一个*直到'\n'为止
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
winter_sui
2009-10-29
打赏
举报
回复
网上搜索的:
#include <stdio.h>
#ifndef _WIN32 //Linux platform
#include <termio.h>
#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 <conio.h>
#endif
#define MAX_LEN 8
#define BACKSPACE 8
#define ENTER 13
#define ALARM 7
char *getPasswd(const char *prompt)
{
int i=0, ch;
static char p[MAX_LEN+1]="";
printf("%s", prompt);
while((ch = getch())!= -1 && ch != ENTER)
{
if(i == MAX_LEN && ch != BACKSPACE)
{
putchar(ALARM);
continue;
}
if(ch == BACKSPACE)
{
if(i==0)
{
putchar(ALARM);
continue;
}
i--;
putchar(BACKSPACE);
putchar(' ');
putchar(BACKSPACE);
}
else
{
p[i] = ch;
putchar('*');
i++;
}
}
if(ch == -1)
{
while(i != -1)
{
p[i--] = '\0';
}
return NULL;
}
p[i]='\0';
printf("\n");
return p;
}
int main()
{
char *pw = getPasswd("passwd:");
puts(pw);
puts("clearing the static buffer with 0 ...");
while(*pw)
{
*pw++=0;
}
pw=NULL;
return 0;
}
Linux系统
字符
终端界面的编程(1)——
CURSES
库
简介.pdf
Linux系统
字符
终端界面的编程(1)——
CURSES
库
简介.pdf
curses
库
使用
指南
比较好的
curses
库
的
使用
说明,欢迎下载
Curses
库
参考手册
Curses
库
参考手册(E文),在网上搜索了很久都没有找到一个合适的数据,唯一一本是张中庆的《 Unix/Linux下的Curse
库
开发指南》,却没有看到一个完整版的(CSDN上的只有3章),所以索性下了一个原版的手册,暂时用用,大家将就一下,有兴趣的朋友可以翻译。
curses
curses
curses
curses
curses
curses
curses
curses
curses
curses
curses
curses
curses
curses
curses
Python3中
使用
curses
的矩阵码雨动画_Python_下载.zip
Python3中
使用
curses
的矩阵码雨动画_Python_下载.zip
Linux/Unix社区
23,217
社区成员
74,540
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章