Il existe plusieurs moyens darrêter le programme en cours de route. Le premier est dutiliser return
dans la fonction main
, comme on la 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. Lentier renvoyé est le résultat dexécution donné au système d'exploitation ; une valeur de 0 indique une terminaison normale, une autre indique une erreur. Cest 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 na pas de paramètre, affiche un message derreur sur le terminal (Abnormal program termination) puis appelle _exit(3)
. Ces deux fonctions ne doivent être utilisées quen cas durgence 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 | Sommaire | Suivant |