[C] Terminer un programme par Ctrl-c
Résolu/Fermé
dasdqwjd
-
6 août 2008 à 19:23
dubcek Messages postés 18587 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 12 mars 2023 - 8 août 2008 à 11:10
dubcek Messages postés 18587 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 12 mars 2023 - 8 août 2008 à 11:10
4 réponses
Toufou13190
Messages postés
10635
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
21 septembre 2015
813
6 août 2008 à 19:28
6 août 2008 à 19:28
Salut,
la solution la plus simple me semble être de rajouter une condition a ta boucle (loop while) en détectant l'appui sur une combinaison de touche et cette sortie de boucle déclenche l'exécution de tes fonctions avant d'arrêter le programme.
A+
la solution la plus simple me semble être de rajouter une condition a ta boucle (loop while) en détectant l'appui sur une combinaison de touche et cette sortie de boucle déclenche l'exécution de tes fonctions avant d'arrêter le programme.
A+
Ok merci,
n'y a t'il pas des solutions utisant des signaux ?
n'y a t'il pas des solutions utisant des signaux ?
Toufou13190
Messages postés
10635
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
21 septembre 2015
813
6 août 2008 à 19:43
6 août 2008 à 19:43
Désolé trop compliqué pour mes faibles compétences.
dubcek
Messages postés
18587
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
12 mars 2023
5 583
7 août 2008 à 09:39
7 août 2008 à 09:39
oui, man signal
sighandler_t signal(int signum, sighandler_t handler);
ou signum est le N° du signal, pour ctrl-c : SIGQUIT 3 Core Quit from keyboard (man signal(7))
sighandler_t signal(int signum, sighandler_t handler);
ou signum est le N° du signal, pour ctrl-c : SIGQUIT 3 Core Quit from keyboard (man signal(7))
dubcek
Messages postés
18587
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
12 mars 2023
5 583
>
dasdqwjd
8 août 2008 à 11:10
8 août 2008 à 11:10
SIGQUIT ou SIGINT, je ne sais plus, essayer les 2.
la fonction stop_capturing doit terminer par exit(1); après avoir fait le ménage.
la fonction stop_capturing doit terminer par exit(1); après avoir fait le ménage.