NCurses初始化而不清除屏幕

前端之家收集整理的这篇文章主要介绍了NCurses初始化而不清除屏幕前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在编写一个类似于 shell的程序.一旦启动,有一个提示,你输入一些特定于应用程序的命令.

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

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

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

好的问题是:

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

提前致谢!

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

解决方法

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

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

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

猜你在找的C&C++相关文章