C 如何在 curses 程序结束后让屏幕恢复正常

标签 c terminal ncurses

我对 C 和 ncurses 还是个新手。我被要求做一项涉及制作多线程乒乓球游戏的作业。游戏运行良好并以正确的失败条件结束,但在终止时我的终端机全乱了。我没有收到回声,所以我必须输入 stty echo 才能取回回声,即使这样终端的行为也很奇怪。

我的最终函数如下:

void wrap_up(){

    curs_set(1);
    clear();
    endwin();
    refresh();
}

这是截图。我该如何解决?

enter image description here

最佳答案

取消endwin后的刷新。在 endwin 之后调用刷新会导致程序返回到 curses 模式。

关于C 如何在 curses 程序结束后让屏幕恢复正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19724736/

相关文章:

c++ - 是否需要释放(或删除)传递给 C 中的 main 的参数?

linux - 如何通过 ssh 到 linux 杀死 mac os x 上的进程

php - Localhost 不工作 mac 终端

c - MS VS 2008 中 __declspec(dllimport) 的用法

c - 从文件中的同一行扫描多个字符串 (C)

c - 我需要一种在 C 中两次读取 float 的方法。每次都以 <Ctrl>-d 结束

linux - 专用 CoreNLP 服务器控制问题

c - 为什么 getch() 在以非常短的延迟调用 halfdelay() 之后读取 EOF?

C ncurses WINDOW 作为 extern

c - 在 ncurses 中滚动数据