gpt4 book ai didi

c - 在 Linux 上的 GNU C 中的 ncurses 中移动(y,x)

转载 作者:太空宇宙 更新时间:2023-11-04 04:53:25 24 4
gpt4 key购买 nike

我有以下一段使用 ncurses 的代码。我想知道是否可以使用单个移动功能打印几行。

例如:

move(25,25);
printw("Line 1\n");
printw("Line 2\n");

如果我不使用 move(26,25),第 1 行打印在 (25,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;
}

如果这种方法不适合,则您必须手动移动到下一个要打印的位置。

关于c - 在 Linux 上的 GNU C 中的 ncurses 中移动(y,x),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12410849/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com