Arrêt du programme

Il existe plusieurs moyens d’arrêter le programme en cours de route. Le premier est d’utiliser return dans la fonction main, comme on l’a vu. En particulier return 0 indique une terminaison normale du programme.

Le second consiste à utiliser la fonction exit :

if (erreur) exit(1);

Cette fonction commence par exécuter un certain nombre de tâches comme fermer des fichiers, vider les tampons, etc., puis arrête le programme en renvoyant son argument. L’entier renvoyé est le résultat d’exécution donné au système d'exploitation ; une valeur de 0 indique une terminaison normale, une autre indique une erreur. C’est cette valeur qui est le résultat de main.

La fonction _exit est presque identique à la précédente, mais elle interrompt le programme directement, sans exécuter aucune tâche intermédiaire. Enfin la fonction abort, qui n’a pas de paramètre, affiche un message d’erreur sur le terminal (Abnormal program termination) puis appelle _exit(3). Ces deux fonctions ne doivent être utilisées qu’en cas d’urgence absolue. Elles peuvent causer des pertes de données, dans les fichiers ouverts en écriture notamment.

Ces trois fonctions se trouvent dans <stdlib.h>.

Précédent Précédent Sommaire Sommaire Suivant Suivant