如何防止光标在 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
),您可以创建一个更大的屏幕。
使用 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
),您可以创建一个更大的屏幕。