linux下getch的用法

    今天编写了一个程序,需要检测键盘是否按下了ESC键以结束输入。ESC的键值是27,man了一下getch,以及在网上看了一下getch的应用示例。man一下也会发现需要包含curses.h头文件。而curses是linux/unix下的一个图形函数库,重绘终端界面用的。


initscr()函数重绘了屏幕,至endwin()前都在重绘屏幕上输出,因而注意printf位置,避免看不到其执行效果。将1改为0,验证我的想法,贴一段测试代码如下:
#include <stdio.h>
#include <curses.h>
void main()
{
int ch;
#if 1
printf("Input a char:\n");
initscr();
ch = getch();
endwin();
printf("You input:%d\n", ch);
#else
initscr();
printw("Input a char:\n");
ch = getch();
printw("You input:%d\n", ch);
getch(); //运行至此暂停,比便看不到printw执行效果。
endwin();
#endif
}

 编译:gcc testgetch.c  -l curses

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值