问题描述
我正在使用 PDCurses 在 Windows 中编写控制台应用程序。我希望应用程序在我按下 Ctrl+C 时终止。
我的最小可重现代码如下。如果我注释掉 initscr()
和 endwin()
,应用程序将在收到 SIGINT
后终止并在控制台中打印“End”。但是,它不适用于这两行,而且会永远有趣。
#include <curses.h>
#include <signal.h>
void handle_sig(int sig) {
if (sig == SIGINT) {
endwin();
printf("End\n");
exit(0);
}
}
int main() {
signal(SIGINT,handle_sig);
initscr();
while (1);
return 0;
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)