加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

NCurses初始化而不清除屏幕

发布时间:2020-12-16 05:50:20 所属栏目:百科 来源:网络整理
导读:我正在编写一个类似于 shell的程序.一旦启动,有一个提示,你输入一些特定于应用程序的命令. 到目前为止这个工作很好.但是,我想添加对Bash中的命令历史记录的支持,所以用户可以点击向上或向下箭头,并查看以前输入的命令. 我已经包括了ncurses库,我已经用getch(
我正在编写一个类似于 shell的程序.一旦启动,有一个提示,你输入一些特定于应用程序的命令.

到目前为止这个工作很好.但是,我想添加对Bash中的命令历史记录的支持,所以用户可以点击向上或向下箭头,并查看以前输入的命令.

我已经包括了ncurses库,我已经用getch()做了一个简单的hello world测试,以确保正确地报告上下箭头.

困扰我的是,似乎是一个要求,我调用initscr()将清除屏幕,以便我使用getch().

好的问题是:

有没有人知道使用ncurses getch()函数的方法,而不是首先调用initscr()?如果没有,我可以让它不清楚屏幕吗?基本上,我希望getch()与getchar()相同,如果这样做是有道理的.

提前致谢!

编辑:我认为最好的例子是Python是如何以交互模式运行的.

解决方法

诅咒希望完全控制屏幕,并优化对屏幕的写入,特别是在慢速串行线路上.要做到这一点,它需要知道屏幕上是什么,并且与大多数终端完成的唯一合理的方法是从一个空白的屏幕开始,并跟踪你写给终端的内容.

因此,我怀疑(n)诅咒是你的shell的错误工具.您可能需要在抽象层上下一步,并使用终端(标准输入)中的terminfo和非阻塞读取.

(这不是很有帮助,对不起)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读