Linux curses 总结三(对键盘的操作)
来源:互联网 发布:网络教育统考不通过率 编辑:程序博客网 时间:2024/05/15 01:36
- cbreak & cooked(预处理模式)
- curses程序的控制模式函数
- curses程序的键盘操作函数
小栗子
curses程序的键盘操作是对底层的简单封装接口
cbreak & cooked(预处理模式)
cooked:标准输入模式,处理的是一行数据,每次遇到'\r'(换行符)才会把输入到缓存的数据传递给程序,这种情况下键盘输入特殊字符可以被处理(删除键)cbreak:这个模式只要有字符输入就会立即传递给程序,特殊字符功能失效,会输入字符(删除键失效,会往程序你添加字符)
curses程序的键盘操作函数
int echo(void);
int noecho(void);
int cbreak(void);
int nocbreak(void);
对特殊字符的处理
int raw(void);
int noraw(void);
curses程序的键盘操作函数
获得键盘输入的一个字符int getch(void);获得键盘输入放入stringint getstr(char* string)获得键盘的字符,并限制了长度int getnstr(char* string,int numbers_of_characters);和scanf类似int scanw();
小栗子
#include<stdio.h>#include<stdlib.h>#include<curses.h>#include<string.h>#define PW_LEN 256#define NAME_LEN 256int main(){ char name[NAME_LEN]; char password[PW_LEN]; const char* real_password ="dota2"; int i; initscr(); move(5,10); printw("%s","please login:"); move(7,10); printw("%s","User name:"); getstr(name); move(8,10); printw("%s","password:"); refresh(); cbreak();//键盘只要输入就会传递到程序里,不缓存 noecho(); //关闭回显功能,键盘上输入屏幕看不见 memset(password,'\0',sizeof(password)); while(i<PW_LEN){ password[i]= getch(); if(password[i]=='\n') break; move(8,20+i); addch('*'); refresh(); i++; } echo(); nocbreak(); move(11,10); if(strncmp(real_password,password,strlen(real_password))==0) printw("%s","right"); else printw("%s","wrong"); printw("%s","password"); refresh(); sleep(10); endwin(); exit(EXIT_SUCCESS);}
0 0
- Linux curses 总结三(对键盘的操作)
- Linux curses 总结二(对屏幕的操作)
- Linux curses 总结三(窗口)
- Linux下curses库的基本操作
- Linux curses 总结一
- linux curses 菜色的应用
- Linux-curses库的应用
- linux下curses的安装
- Linux curses库(ubuntu)
- Linux操作命令总结(三)
- Linux之ubuntu学习笔记(三):对文件和文件夹进行简单的操作
- linux下对sh文件的基本操作总结
- 嵌入式Linux系统中对GPIO操作的方法总结
- 总结一些linux下对压缩文件操作的命令
- linux下对sh文件的基本操作总结
- linux下对sh文件的基本操作总结
- linux下对sh文件的基本操作总结
- 学习curses图形库(三)
- 可行性分析
- Android进阶——双击,三击和多击的实现
- 多表查询
- MySQL存储引擎总结
- @PathVariable-------springMVC
- Linux curses 总结三(对键盘的操作)
- web.xml配置详解
- C#中DataTable的使用
- Android滑动删除activity
- ubuntu virtualbox安装win10虚拟机 共享文件夹
- 哈理工OJ 1037组合数末尾的零(思维)
- mysql中处理逗号存储多个字符串,id,tag
- MSXML应用总结 开发篇(下)
- matlab归一化&标准化