【发布时间】:2011-12-04 23:42:23
【问题描述】:
我一直在尝试制作一个 ncurses 程序,该程序将在某个时间点结束 ncurses 模式,并在正常终端模式下恢复,但仍保持程序运行。
是否可以? endwin(); 结束程序。
这是我的代码(不用担心函数,我之前做过):
clear();
refresh();
endwin();
boxmessage("STEP 1");
consolewrite("Removing Popularity Contest...");
std::vector<std::string> removepak;
removepak.push_back("popularity-contest");
removepackages(removepak);
【问题讨论】:
-
我以前从未使用过 NCurses,但是您是否尝试过从命令行调用可执行文件?
-
是的,我已经尝试过这样做(我一直都是这样做的)。
-
endwin()应该做你想做的事。 this 对我来说很好。 -
这不应该发生。根据文档,endwin 只是简单地恢复了终端。文档甚至声明:“在调用 initscr 之后的任何时候,都应该在退出之前调用 endwin()。”这对我来说表明
exit是一个单独的东西。 -
什么是
boxmessage?它是否恰好是或调用 ncurses 命令?因为如果你结束了 ncurses,我不希望它起作用。如果你此时只使用std::cout会发生什么?