在我的应用程序中,我有两个对象,它们将终端窗口等分为两部分,如分屏。但是当我使用wprintw() 我看不到屏幕上的任何输出。我敢肯定,stdscr重叠这两个窗口。我怎样才能避免这种重叠? 也许我需要使用wrefresh()或refresh()?我试过了,但没有帮助。
这是我的代码的简化部分。也许我做错了什么?如何避免ncurses中的stdscr重叠?
WINDOW *win1 = newwin(10, width, 0, 0);
WINDOW *win2 = newwin(10, width, width, 0);
wprintw(win1, "First window: ");
wprintw(win2, "Second window: ");
wrefresh(win1);
wrefresh(win2);
while((ch = getch()) != KEY_F(2)) {}
endwin();
这和你原来的问题中的代码不一样(甚至没有任何输入),所以目前还不清楚这是如何解决问题的。 –
当然没有输入,因为我没有在这里包括它。但它很好地解决了我的问题 - stdscr没有重叠。也许我需要更清楚地解释解决方案。感谢[你](http://stackoverflow.com/users/2906189/william-mcbrine),因为_getch()_函数默认使用了_stdscr_。 – yutsura