我在我的Windows计算机上使用ubuntu使用windows子系统为linux编译一个简单的程序,使用C中的ncurses,在ncurses窗口中显示一个框。如下图所示,该框不能完全呈现。我的代码有问题或者这是WSL中的问题吗?
The drawn box displays incorrectly盒子应伸展并连接左右两侧
int main()
{
initscr();
noecho();
cbreak();
int sizeY, sizeX;
getmaxyx(stdscr, sizeY, sizeX);
WINDOW *mainMenu = newwin(10, 10, 5, 10);
box(mainMenu, 0, 0);
refresh();
wrefresh(mainMenu);
keypad(mainMenu, true);
getch();
endwin();
return 0;
}
getch();
应该是wgetch(mainMenu);
否则,重新粉刷stdscr
可以消灭部分mainWindow
。
但这似乎不是图中所示的问题。这可能是在一些不完全匹配xterm的终端上使用TERM=xterm
(或TERM=xterm-256color
),例如repeat功能。