我有一个程序,我想运行,直到用户按下CTRL + C中断.当我按下它没有任何反应,我只能通过暂停它并在此之后手动终止它来终止程序.
这是需要无限运行的代码的一部分:
while(true) {
liveOrDie(field);
printOut(field);
}
Run Code Online (Sandbox Code Playgroud)
第一个函数计算是将1还是0放在二维数组中,第二个函数使用for循环将其打印出来,如下所示:
void printOut(int field[38][102]) {
for(int i = 0; i < 38; i++) {
for(int j = 0; j < 102; j++) {
if(field[i][j] == 1) {
cout << "o";
}
else {
cout << " ";
}
}
cout << endl;
}
system("sleep .1");
}
Run Code Online (Sandbox Code Playgroud)
使用睡眠,因此有足够的时间在屏幕上清除所有内容.
所以,程序不会终止Ctrl+C.什么可能导致这种行为,以及如何使程序终止后Ctrl+C?