exit
|
Definiert in Header
<stdlib.h>
|
||
|
void
exit
(
int
exit_code
)
;
|
(bis C11) | |
|
_Noreturn
void
exit
(
int
exit_code
)
;
|
(seit C11)
(bis C23) |
|
|
[
[
noreturn
]
]
void
exit
(
int
exit_code
)
;
|
(seit C23) | |
Veranlasst das normale Programmende.
Es werden mehrere Bereinigungsvorgänge durchgeführt:
- an atexit übergebene Funktionen werden in umgekehrter Reihenfolge ihrer Registrierung aufgerufen
- alle C-Streams werden geleert und geschlossen
- von tmpfile erstellte Dateien werden entfernt
-
die Steuerung wird an die Host-Umgebung zurückgegeben. Wenn
exit_codenull oder EXIT_SUCCESS ist, wird ein implementierungsdefinierter Status zurückgegeben, der eine erfolgreiche Beendigung anzeigt. Wennexit_codeEXIT_FAILURE ist, wird ein implementierungsdefinierter Status zurückgegeben, der eine erfolglose Beendigung anzeigt. In anderen Fällen wird ein implementierungsdefinierter Statuswert zurückgegeben.
Inhaltsverzeichnis |
Hinweise
Die Funktionen, die mit at_quick_exit registriert wurden, werden nicht aufgerufen.
Das Verhalten ist undefiniert, wenn ein Programm
exit
mehr als einmal aufruft, oder wenn es
exit
und
quick_exit
aufruft.
Das Verhalten ist undefiniert, wenn während eines Aufrufs einer Funktion, die mit atexit registriert wurde, die Funktion mit longjmp beendet wird.
Die Rückkehr von der
main-Funktion
, entweder durch eine
return
-Anweisung oder durch Erreichen des Funktionsendes, führt
exit()
aus und übergibt das Argument der return-Anweisung (oder
0
bei impliziter Rückgabe) als
exit_code
.
Parameter
| exit_code | - | Beendigungsstatus des Programms |
Rückgabewert
(keine)
Beispiel
#include <stdio.h> #include <stdlib.h> int main(void) { FILE *fp = fopen("data.txt","r"); if (fp == NULL) { fprintf(stderr, "error opening file data.txt in function main()\n"); exit( EXIT_FAILURE ); } fclose(fp); printf("Normal Return\n"); return EXIT_SUCCESS ; }
Mögliche Ausgabe:
error opening file data.txt in function main()
Referenzen
- C17-Standard (ISO/IEC 9899:2018):
-
- 7.22.4.4 Die exit-Funktion (S: 256)
- C11-Standard (ISO/IEC 9899:2011):
-
- 7.22.4.4 Die exit-Funktion (S: 351-352)
- C99-Standard (ISO/IEC 9899:1999):
-
- 7.20.4.3 Die exit-Funktion (S: 315-316)
- C89/C90-Standard (ISO/IEC 9899:1990):
-
- 4.10.4.3 Die exit-Funktion
Siehe auch
|
verursacht abnormale Programmbeendigung (ohne Bereinigung)
(Funktion) |
|
|
registriert eine Funktion, die beim Aufruf von
exit()
aufgerufen wird
(Funktion) |
|
|
(C11)
|
verursacht normale Programmbeendigung ohne vollständige Bereinigung
(Funktion) |
|
C++ Dokumentation
für
exit
|
|