Différence entre exit 0 et exit 1
Quelle est la différence entre exit(0) et exit(1) ? – exit (0) et exit (1) les deux méthodes sont utilisées pour terminer le programme en cours d’exécution. Lorsque la méthode exit (int status) est appelée, le processus est immédiatement interrompu et le statut est renvoyé au système d’exploitation. Status = 0 signifie une exécution réussie du programme alors que toute valeur non nulle de status (Status != 0) signifie que l’exécution a été interrompue.
Par défaut, la bibliothèque standard C définit 2 code de statut à savoir. EXIT_SUCCESS et EXIT_FAILURE et la définition de ces deux macros se trouvent dans le fichier stdlib.h
#define EXIT_SUCCESS 0 #define EXIT_FAILURE 1
Si un processus se termine avec le code d’état EXIT_FAILURE, tout fichier ouvert par le processus sera fermé et son processus parent recevra un signal SIGCHLD.
Table de comparaison
exit 0 | exit 1 | |
---|---|---|
Terminaison | Indique une terminaison normale du programme. | Indique une terminaison anormale du programme. |
Macros | EXIT_SUCCESS | EXIT_FAILURE |
Syntaxe | exit(0); | exit(1); |
Indication | Il indique que la tâche a été effectuée avec succès. | Il indique que la tâche a été interrompue à cause d’une erreur. |
Conclusion
exit (0) ou EXIT_SUCCESS – Termine le programme normalement, c’est-à-dire qu’il n’ya pas d’erreur dans le programme. exit (1) ou EXIT_FAILURE – Il indique une terminaison infructueuse.
j’aimerais savoir si en mettant la commande exit(0); , on peut relance la boucle à partir par exemple (dans mon cas) d’un microphone qui reconnaît le son préalablement défini.
N’utilisez pas exit() pour sortir d’une boucle. exit() quittera tout votre programme. Utilisez plutôt le mot clé break.