如何防止光标在Ncurses中换行后退回到屏幕的最左端?

时间:2019-03-10 10:26:53

标签: 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();
    }

我该如何解决?

1 个答案:

答案 0 :(得分:0)

您可以创建一个窗口,该窗口以 7,3 开头,并且写入窗口的内容将在换行符上换到列偏移量3,例如,< / p>

#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行的窗口。您可以考虑实际的屏幕尺寸(例如LINES)来创建更大的屏幕。