Bonjour,
J'ai développé un programme en C (type appli console).
L'utilisateur peut faire un Ctrl + C pour stopper l'appli, mais est-il possible d'être avertis de cette action pour fermer correctement l'appli.
Genre un évenement...
Merci
Bonjour,
J'ai développé un programme en C (type appli console).
L'utilisateur peut faire un Ctrl + C pour stopper l'appli, mais est-il possible d'être avertis de cette action pour fermer correctement l'appli.
Genre un évenement...
Merci
Sous Unixoïde, voir la fonction signal() : tu peux traiter le signal SIGTERM pour faire le nettoyage avant de quitter (ou même refuser de quitter).
Sous Windows (enfin, sous <= 98 (ou <=2000 ?), tout n'est pas géré entièrement), voir SetConsoleCtrlHandler() : Là, tu ne peux pas refuser de quitter, mais tu peux faire le nettoyage pour que le programme puisse quitter proprement.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Es-tu sûr de SIGTERM? J'avais en tête que c'était SIGINT...Envoyé par Médinoc
Jc
Non, je ne suis pas sûr.
En fait, je serais du genre à essayer pour tous...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Il s'agit bien de SIGINT (en tout cas sous unixoïde...)
Maintenant, pour être performant ET portable (ie Posix), je conseille d'utiliser les fonctions
sig{add, del}set
sig{action, procmask} , etc...
Plus souple, et disposant de plus de fonctionnalités....
![]()
Partager