如何防止光标在 Ncurses 中的换行后恢复到屏幕的最左侧?

How to Prevent Cursor From Reverting to Far Left of Screen after Newlines in Ncurses?

使用 Ncurses 中的函数 mvprintw(rowOffset, colOffset, textToPrint),当我打印一个换行符时,如果 colOffset 不是 0,我得到一个如下所示的矩形:

   xxxxxxxx
x      x
xxxxxxxx

当我希望矩形的其余部分与顶部对齐时

为了

#include <ncurses.h>

    void main()
    {
        initscr();
        mvprintw(7,3,"xxxxxxxx\nx      x\nxxxxxxxx\n");
        refresh();
    }

我该如何解决这个问题?

您可以创建一个 window,它从 7,3 开始,并写入 window 将在换行符换行到列偏移量 3,例如,

#include <ncurses.h>

void main()
{
    WINDOW *w;
    initscr();
    w = newwin(10,20, 7, 3);
    wprintw(w, "xxxxxxxx\nx      x\nxxxxxxxx\n");
    wrefresh(w);
    wgetch(w);
}

这将创建 10 行 window。考虑到实际屏幕尺寸(例如 LINES),您可以创建一个更大的屏幕。