我有一段使用 ncurses 的代码。我想知道是否可以使用单个移动功能打印几行。
例如:
move(25,25);
printw("Line 1\n");
printw("Line 2\n");
第 1 行打印在 (25,25) 位置,但如果我不使用 move(26,25),第 2 行打印在 (26,0)。我可以避免第二步并仍然在 (26,25) 处打印第 2 行吗????
如果您要打印的内容必须对齐,您可以定义一个新窗口。不久:
#include <ncurses.h>
int main()
{
WINDOW* mywin;
initscr();
cbreak();
keypad(stdscr, TRUE);
int height=15;
int width=30;
int starty=25;
int startx=25;
printw("F9 to exit");
refresh();
mywin = newwin(height, width, starty, startx);
mvwprintw(mywin,0,0,"First line\n");
wprintw(mywin,"Second line");
wrefresh(mywin);
while(getch() != KEY_F(9)) {}
endwin();
return 0;
}
如果这种方法不适合,那么您必须手动移动到要打印的下一个位置。