J'ai un programme qui doit s'exécuter jusqu'à ce qu'il soit interrompu par l'utilisateur qui appuie sur CTRL + C. Lorsque j'appuie sur CTRL + C, rien ne se passe et je ne peux terminer le programme qu'en le suspendant et en l'arrêtant manuellement ensuite.
C'est la partie du code qui doit s'exécuter à l'infini :
while(true) {
liveOrDie(field);
printOut(field);
}
La première fonction calcule s'il faut mettre 1 ou 0 dans un tableau à deux dimensions et la seconde l'imprime en utilisant une boucle for comme ceci :
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");
}
La mise en veille est utilisée pour qu'il y ait suffisamment de temps pour tout imprimer à l'écran avant qu'il ne soit effacé.
Donc, le programme ne se termine pas par Ctrl+C
. Quelle peut être la cause de ce comportement, et comment faire en sorte que le programme se termine après la fin de l'opération ? Ctrl+C
?