Laat het verschil bestuderen tussen exit (0) en exit (1) met behulp van een vergelijkingstabel.
Vergelijkingstabel
Basis voor vergelijking | exit (0) | exit (1) |
---|---|---|
basis- | Rapporteert het besturingssysteem over de "succesvolle / normale" beëindiging / voltooiing van het programma. | Meldt het besturingssysteem over de "abnormale" beëindiging van het programma. |
Syntaxis | exit (0); | exit (1); |
Duidt op | Het geeft aan dat de taak met succes is uitgevoerd. | Het geeft aan dat de taak tussentijds is afgebroken vanwege de fout. |
macro's | EXIT_SUCCESS | EXIT_FAILURE |
Definitie van exit (0)
De functie exit (0) is een jump-statement van C ++. Het wordt gebruikt om het programma te beëindigen of om de controle uit het programma te laten gaan. Het rapporteert het besturingssysteem over de succesvolle beëindiging van het programma dat aangeeft aan het besturingssysteem dat de taak van het programma met succes is voltooid. De macro die wordt gebruikt voor retourcode "0" is "EXIT SUCCESS", dus u kunt deze op een bepaalde manier gebruiken als exit (EXIT_SUCCESS). De algemene vorm van de functie exit (0) is: -
void exit (int return_code);
Hier is de formele parameter "return_code" de waarde die wordt teruggegeven aan de aanroepende functie. De returencode is altijd van het type integer, omdat de waarde die wordt geretourneerd naar de aanroepende functie nul of een niet-nulwaarde is. De uitgang (0) is een standaard bibliotheekfunctie. Als we exit (0) gebruiken in het programma, moeten we het headerbestand gebruiken.
Laten we exit (0) begrijpen met een voorbeeld: -
#include // standaard bibliotheekfunctie int main () {FILE * ptrFile; ptrFile = fopen ("mijnbestand.txt", "r"); // open het bestand in de alleen-lezen modus als (ptrFile == NULL) {cout << "Fout bij openen bestand"; uitgang (1); // u kunt afwisselend exit (EXIT_FAILURE)} exit (0) gebruiken; // u kunt afwisselend exit (EXIT_SUCCESS)} gebruiken
In de bovenstaande code proberen we een bestand met de naam "myfile.txt" te openen. We hadden een verwijzing gemaakt naar het bestand "mijnbestand.txt". Als het bestand "mijnbestand.txt" bestaat, wijst de aanwijzer naar het adres van dat bestand en wordt de uitvoer (0) afgesloten met de melding aan het besturingssysteem dat het bestand met succes is geopend. In het geval dat het bestand niet aanwezig is, zal de aanwijzer naar het bestand "mijnbestand.txt" nu NULL bevatten en zal exit (1) het rapport krijgen van het besturingssysteem dat het bestand niet opent vanwege een fout of iets dergelijks.
Definitie van exit (1)
De functie exit (1) is ook een jump-statement van C ++. De uitgang (1) beëindigt ook het programma, maar, abnormaal. De uitgang (1) meldt het besturingssysteem dat het programma niet met succes is uitgevoerd of wordt afgebroken tussen de uitvoering als gevolg van een of andere fout. De functie exit (1) wordt gedefinieerd in de standaardbibliotheekfunctie, voor het geval u exit (1) in uw programma gebruikt, moet u specifiek het headerbestand bovenaan het programma vermelden.
De macro voor retourcode "1" is "EXIT_FAILURE", dus het kan op een bepaalde manier worden geschreven als "exit (EXIT_FAILURE)".
Laten we nu de functie exit (1) met behulp van het programma begrijpen.
// pop het element bovenaan de stack int pop (int stack_name, int size, int Top) {if (Top == - 1) {cout << "stack is underflow"; exit (1); } else {int s = s [Top]; Top--; komt terug); }}
Hier wordt de functie gedefinieerd om het element bovenaan de stapel te laten knallen, als de bovenkant van de stapel leeg is, dat wil zeggen de bovenkant is -1. Dan is de taak om het bovenste element van de stapel eruit te gooien niet succesvol voltooid omdat de stapel leeg is en we de uitgang (1) verlaten. Dit geeft aan dat de taak van de pop-functie niet is voltooid. Vandaar dat de uitvoering abnormaal wordt beëindigd.
Belangrijkste verschillen tussen exit (0) en exit (1)
- De enige return_code die aangeeft dat het programma succesvol is beëindigd, is "0". Voor het melden van abnormale beëindiging van het programma, kunnen we elke andere waarde dan "0" gebruiken, dwz we kunnen "1", "2", "3" ... gebruiken, wat betekent dat een niet-nulwaarde een abnormale beëindiging van het programma aangeeft.
- Een macro kan ook worden gebruikt in plaats van de return_code. Net als, op de plaats "0" kunt u "EXIT_SUCCESS" gebruiken, terwijl u in plaats van "1" "EXIT_FAILURE" kunt gebruiken.
Gelijkenis:
- Zowel exit (0) als exit (1) zijn de jump-statements van C ++.
- Zowel exit (0) als exit (1) worden gebruikt om het programma te beëindigen.
- Zowel exit (0) als exit (1) zijn gedefinieerd onder het headerbestand.
- Zowel exit (0) als exit (1), rapporteer de status van beëindiging van het programma aan het besturingssysteem.
Notitie:
Als de functie exit () niets retourneert, betekent dit dat deze de status van de beëindiging van het programma naar het besturingssysteem niet wil onthullen.
Conclusie:
Om de status van de beëindiging van het programma te rapporteren, gebruikt men een exit () -functie. Een exit (0) onthult aan het besturingssysteem dat de taak van het programma met succes is voltooid. Een exit (1) onthult dat de taak van het programma niet is voltooid en dat de uitvoering van het programma abnormaal is afgebroken.