我正在Windows计算机上使用ubuntu,该计算机使用Linux的Windows子系统来编译简单的程序,该程序使用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;
}
答案 0 :(得分:1)
getch();
应该是wgetch(mainMenu);
否则,重新粉刷stdscr
可能会擦掉mainWindow
的一部分。
但这似乎不是图片中显示的问题。这可能是在某些与 xterm 不完全匹配的终端上使用的TERM=xterm
(或TERM=xterm-256color
),例如repeat功能。