我正在学习用C语言编程,并且希望能够在我的代码运行时能够在没有按下的情况下在终端中键入字符return.我的程序有效,但是当我打电话时initscr(),屏幕被清除 - 即使在通话后也是如此filter().该文档filter建议它应该禁用清除 - 但对我来说情况并非如此.
#include <stdio.h>
#include <curses.h>
#include <term.h>
int main(void) {
int ch;
filter();
initscr();
cbreak();
noecho();
keypad(stdscr, TRUE);
while((ch = getch()) != EOF);
endwin();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
为什么上面的代码仍然清晰的屏幕,以及可以做些什么来解决它?
如果有帮助,我正在使用Debian Lenny(稳定版)和gnome-terminal.
使用newterm()而不是initscr(),那么你应该没问题。并且不要忘记delscreen()您是否遵循此建议。