美文网首页
Linux/OS X/Unix键盘输入性能提升

Linux/OS X/Unix键盘输入性能提升

作者: obsession_me | 来源:发表于2018-05-07 15:54 被阅读0次

使用Curses库完成操作

ubuntu下安装

sudo apt-get install libncurses

编译

gcc -lcurses

代码实例

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

#include <curses.h>  // Unix/Linux/OS X platform only

// function-like macro
#define swap(type, x, y)  do{type t = x; x=y; y=t;} while (0)
// 交换两个值

void test1(){
    int ch, retry;
    initscr();  // 生成屏幕并初始化库
    cbreak();  // 禁止行缓冲
    noecho();  // 禁止输入的字符显示在画面上
    refresh(); // 刷新画面

    do {
        printf("请按键。");
        fflush(stdout);

        ch = getch();
        printf("\n\r按下的键是%c,值是%d\n\r", isprint(ch)?ch:' ', ch);
        printf("再来一次?(Y/N):");
        fflush(stdout);
        retry = getch();
        if (isprint(retry))
            putchar(retry);  // curses 中无putch
        putchar('\n');
        fflush(stdout);
    } while (retry == 'Y' || retry=='y');

    endwin();  // 使用库时,用于最后收尾的函数,通常情况下,画面上的字符会全部消失
}

int main(){
    test1();
    return 0;
}

相关文章

网友评论

      本文标题:Linux/OS X/Unix键盘输入性能提升

      本文链接:https://www.haomeiwen.com/subject/vzcvrftx.html