问题描述
因此,我正在关注Linux中ncurses的教程,但是它没有任何作用。这是我的代码:
#include <ncurses.h>
int main()
{
initscr();
printw("Tset");
refresh();
endwin();
}
当我使用g++ main.cpp -lncurses
进行编译时,它可以工作,但什至不输出任何东西。甚至不清除屏幕。我该如何解决?
解决方法
这是因为endwin()
在打印“ Tset” 之后正在关闭ncurses窗口。它很快,您看不到它。您可以让程序在关闭窗口以查看输出之前等待按下某些键。在结束窗口之前,请使用getch()
。
#include <ncurses.h>
int main()
{
initscr();
printw("Tset");
refresh();
getch(); //add this line to wait for keypress
endwin();
}