exit(0) vs exit(1) en C/C++ con ejemplos

exit es una instrucción de salto en lenguaje C/C++ que toma un número entero (cero o distinto de cero) para representar diferentes estados de salida.

Hay dos tipos de estado de salida en C/C++:

  1. Éxito de salida: El éxito de salida se indica mediante la instrucción exit(0) , lo que significa que el programa ha terminado con éxito, es decir, el programa se ha ejecutado sin errores ni interrupciones.

    #include <file.h>
    #include <stdio.h>
      
    int main()
    {
        FILE* file;
      
        // opening the file in read-only mode
        file = fopen("myFile.txt", "r");
      
        printf("File opening successful!");
      
        // EXIT_SUCCESS
        exit(0);
    }

    Nota: Cree un archivo llamado ‘myFile.txt’ y ejecute el código en su dispositivo local para ver el resultado.

  2. Fallo de salida: El fallo de salida se indica mediante exit(1) , lo que significa la finalización anormal del programa, es decir, se ha producido algún error o interrupción. Podemos usar diferentes enteros distintos de 1 para indicar diferentes tipos de errores.

    #include <file.h>
    #include <stdio.h>
      
    int main()
    {
        FILE* file;
      
        // open the file in read-only mode
        file = fopen("myFile.txt", "r");
      
        if (file == NULL) {
            printf("Error in opening file");
      
            // EXIT_FAILURE
            exit(1);
        }
      
        // EXIT_SUCCESS
        exit(0);
    }

Veamos las diferencias entre estas dos afirmaciones-

salir(0) salir(1)
Informa de la terminación/finalización exitosa del programa. Informa de la terminación anormal del programa.
Informa la terminación cuando el programa se ejecuta sin ningún error. Reporta la terminación cuando ocurre algún error o interrupción durante la ejecución del programa.
La sintaxis es exit(0); La sintaxis es exit(1);
El uso de exit(0) es totalmente portátil. El uso de exit(1) no es portátil.
La macro utilizada para el código de retorno 0 es EXIT_SUCCESS La macro utilizada para el código de retorno 1 es EXIT_FAILURE
EXIT_SUCCESS está definido por el estándar como cero. EXIT_FAILURE no está restringido por el estándar para ser uno, pero muchos sistemas lo implementan como uno.

Publicación traducida automáticamente

Artículo escrito por argha_c14 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *