WSL显示框错误的NCurses

问题描述 投票:0回答:1

我在我的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;
}
c ncurses windows-subsystem-for-linux
1个回答
1
投票

getch();应该是wgetch(mainMenu);否则,重新粉刷stdscr可以消灭部分mainWindow

但这似乎不是图中所示的问题。这可能是在一些不完全匹配xterm的终端上使用TERM=xterm(或TERM=xterm-256color),例如repeat功能。

© www.soinside.com 2019 - 2024. All rights reserved.