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和非阻塞读取. (这不是很有帮助,对不起) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |