我试图通过在每个新行打印一个字符串来测试printw和mvwprintw。但是他们不打印任何东西。
这是终端上的输出:
gcc -c -g *.c
gcc *.o -o main.exe -lncurses
DBOJANTC-M-KDD5:ncursestest user22$ main.exe
DBOJANTC-M-KDD5:ncursestest user22$
如何在屏幕或窗口上打印这些功能?
int main() {
char stuff[25] = "stuffstuff\n";
int rows = 7;
WINDOW* win;
//int delwin(WINDOW *win);
//printf("dddd\n");
initscr();
raw();
noecho();
printw("Try resizing your window(if possible) and then run this program again");
win = newwin(rows, 80, 0, 0);
for(int i = 0; i < rows; i++){
mvwprintw(win, i, 0,"%s", stuff);
wrefresh(win);
}
endwin();
return 0;
}
printw
和mvwprintw
实际上是印刷品。只是您立即刷新窗口或关闭窗口,因此您无法看到打印件。
尝试在关闭或刷新窗口之前添加getch
。
for(int i = 0; i < rows; i++){
mvwprintw(win, i, 0,"%s", stuff);
getch(); //here
wrefresh(win);
}
getch(); //here
endwin();
甚至你可以使用sleep
。