• [^] # Re: exploiter le Ctrl+C plutôt que de le masquer ?

    Posté par . En réponse au message Système. Évalué à 1.

    Bien vu, merci de la remarque.

    Je me doutais que le printf risquait de générer des bugs d'affichage dans la console (genre si ça arrive au milieu de l'écriture d'une séquence de commande ansi).
    Par contre il faudra que je remplace mes exit() par _exit().

    L'interception et la tentative de fermeture propre du programme restent par contre valables.

    L'exemple devient donc:

    #include <signal.h>
    int please_exit = 0; // si marche pas avec optimiseur, ajouter "volatile", c'est moche mais ça marchera
    void exitApp(int sig)
    {
     please_exit = 1;
    }
    int main(int argc, char** argv)
    {
     signal(SIGINT, exitApp);
     // programme principal
     // dès que la variable please_exit est non nulle, on quitte proprement le programme
     // par exemple
     while (!please_exit)
     {
     // ...
     }
    }

    Les vrais naviguent en -42