initscr() 将读取正确的 terminfo 文件并初始化 ncurses 数据结构,为 和 分配内存,并将 和 设置为终端具有的值。当发生错误时,它将返回指向 或 ERR 的指针。您不需要使用以下代码初始化指针:
initscr() 会为您执行此操作。如果返回值是 ERR,您的程序应该退出,因为没有 ncurses 函数会工作。
在 endwin() 之后额外调用 refresh() 将终端恢复到调用 initscr() 之前的状态(可视模式),否则它将被清除(非可视模式)。