Posté par flavien75 .
En réponse au message Système.
Évalué à 4.
Personnellement j'utilise plutôt ce code :
#include <signal.h>#define CTRL_C_LIM 3intplease_exit=0;voidexitApp(intsig){if(please_exit<CTRL_C_LIM){fprintf(stderr,"CTRL+C received");please_exit++;}else{fprintf(stderr,"CTRL+C received too many times, forcing exit");exit();}}intmain(intargc,char**argv){signal(SIGINT,exitApp);// programme principal// dès que la variable please_exit est non nulle, on quitte proprement le programme// par exemplewhile(!please_exit){// ...}}
Ça permet au programme de balancer des "attend un peu que je finisse" tout en permettant à l'utilisateur de marteler Ctrl+C pour tuer violemment le programme.
Accessoirement ce bout de code fonctionne aussi bien sous windows que sous Linux.
# exploiter le Ctrl+C plutôt que de le masquer ?
Posté par flavien75 . En réponse au message Système. Évalué à 4.
Personnellement j'utilise plutôt ce code :
Ça permet au programme de balancer des "attend un peu que je finisse" tout en permettant à l'utilisateur de marteler Ctrl+C pour tuer violemment le programme.
Accessoirement ce bout de code fonctionne aussi bien sous windows que sous Linux.
Les vrais naviguent en -42