为了账号安全,请及时绑定邮箱和手机立即绑定

怎么在重定向标准输入后无阻塞的获取终端按键(在linux下用c语言实现)?

怎么在重定向标准输入后无阻塞的获取终端按键(在linux下用c语言实现)?

一只名叫tom的猫 2019-04-06 16:57:43
在实现more命令时所遇到的问题未考虑重定向前,无阻塞的获取终端按键是如下代码所示实现的fp_tty=fopen("/dev/tty","rw");//更改终端属性,使字符立即输入且不显示tcgetattr(0,&oldt);newt=oldt;newt.c_lflag&=~(ICANON|ECHO);tcsetattr(0,TCSANOW,&newt);intch=fgetc(fp_tty);重定向后发现fp_tty始终为NULL
查看完整描述

2 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

原来你是想要实现类似more的功能啊。这里是ubuntu的较新版本的more的源代码,只有一个文件,读起来会比较方便。
                            
查看完整回答
反对 回复 2019-04-06
  • 2 回答
  • 0 关注
  • 459 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信