使用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;
}
网友评论