ncurses curs_set(0) 在 vscode 集成终端中不工作

ncurses curs_set(0) not working in vscode integrated terminal

目前使用 Ubuntu WSL2 在 C++20 中编码。

使用下面显示的代码,当 运行 WSL2 中的程序在 Windows 终端中按预期工作时,光标变得不可见。

但是,当运行WSL2中的程序在vscode的集成终端中时,光标在整个程序中都是可见的(为了以防万一,我什至把terminal.integrated.scrollback 0).

函数 curs_set(0) 在任一终端中运行时不会 return ERR。这是 vscode 的集成终端的问题吗?有办法解决这个问题吗?

代码:

#include <ncurses.h>

int main() {

    initscr();
    noecho();
    cbreak();
    

    if (curs_set(0) == ERR) {
        addstr("Not working");
    }
    mvaddstr(1, 1, "Random sentence.");
    refresh();

    getch();
    mvaddstr(2, 1, "Random sentence number two.");
    getch();

    endwin();

}

在使用 curs_set().

之前先调用 refresh() 一次,我最终解决了这个问题