Fonctions abort et exit

Entête à inclure

#include <stdlib.h>  // <cstdlib> en C++

Fonctions abort et exit

void abort(void);
void exit(int codeRetour):

Ces deux fonctions permettent de mettre fin au programme. La fonction exit (la plus utilisée) permet donc de mettre fin en programme en lui faisant retourner le code retour passé en paramètre. A ce propos, une valeur nulle (EXIT_SUCCESS) indique au système d'exploitation que l'exécution de ce programme s'est bien déroulée. Tout autre valeur indique une sortie anormale du programme (la constante EXIT_FAILURE peut être utilisée).

La seconde fonction permet de réaliser une sortie anormale du programme. Mais en plus de cela elle lève un signal SIGABRT, pouvant sensiblement influer sur le comportement du système d'exploitation. Cette fonction est à utiliser en cas de sortie grave du programme.

Paramètres

  • codeRetour: permet d'indiquer la valeur du code de retour du programme. Ce code de retour est renvoyé au système d'exploitation qui peut alors permettre un réaction en conséquence. Deux valeur sont prédéfinies : EXIT_SUCCESS et EXIT_FAILURE.

Valeur de retour

Aucune de ces fonction ne revoit de valeur étant donnée que le programme est stoppé.

Exemple de code

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main( int argc, char *argv[] ) {
    if ( argc != 3 ) {
        printf( "Usage : copy fileSource fileDest\n" );
        exit( EXIT_FAILURE );    /* La copie n'est pas réalisée */
    }

    /* traitement à effectuer : copie du fichier */
    /* . . . */
    
    return EXIT_SUCCESS;
}

Attention : selon les points de vues, on peut considérer que l'affichage de l'usage d'une commande (comme dans l'exemple proposé) est un cas de fonctionnement normal de l'application. Si tel est votre point de vue, préférez plutôt cet appel : exit( EXIT_SUCCESS );.

Sujets connexes