NCurses初始化而不清除屏幕

我正在编写一个类似于 shell的程序.一旦启动,有一个提示,你输入一些特定于应用程序的命令.

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

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

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

好的问题是:

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

提前致谢!

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

解决方法

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

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

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

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...