namespace cpp

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:lib:exit

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

kennen:lib:exit [2012-04-11 17:23] (aktuell)
Zeile 1: Zeile 1:
 +====== exit() ======
 +''#include'' [[..:include:cstdlib]]
 +
 +<code cpp>
 +void exit (int status) 
 +</code>
 + Beendet das Programm auf "normale Weise"
 + und liefert den Status an das aufrufende Programm (Betriebssystem).
 +
 +Zuerst werden alle mit [[atexit]]
 +registrierten Funktionen entgegen der Registrierreihenfolge aufgerufen.
 +Dann werden alle gepufferten Datenströme geleert und geschlossen,
 +alle durch [[tmpfile]]
 +geöffneten Dateien geschlossen. 
 +Zum Schluss wird wird die Kontrolle an die Programmumgebung
 +(Betriebssystem, Shell) zurückgegeben.
 +
 +Warnung:
 +Destruktoren
 +[[..:typen#Geltungsbereich und Lebensdauer|automatischer und statischer Objekte]]
 +werden nicht aufgerufen. In C++ sollte der Mechanismus der
 +[[..:ausnahmen|Ausnahmebehandlung]] vorgezogen werden.
 +
 +==== Parameter ====
 +| ''status'' | Fehlercode|
 +Die Konstanten ''EXIT_SUCCESS'' und ''EXIT_FAILURE'' sind
 +implementationsabhängig definierte Konstanten für fehlerfreies
 +und fehlerhaftes Programmende.
 +
 +Typischerweise bedeutet 0 als Rückgabewert, 
 +dass das Programm fehlerfrei beendet wurde.
 +
 +==== Ergebnis ====
 +Rückgabewert: keiner.
 +Aus der Funktion erfolgt keine Rückkehr.
 +
 +==== Siehe auch ====
 +[[abort]],
 +[[atexit]].
 +
 +==== Beispiel ====
 +<code cpp exit.cpp>
 +#include <cstdlib>
 +#include <iostream>
 +using namespace std;
 +
 +void help()
 +{
 +  cerr << "Aufruf mit mindestens einem Parameter\n";
 +  exit(EXIT_FAILURE);
 +}
 +
 +int main(int argc, char *argv[])
 +{
 +  if (argc < 2) help();
 +
 +  cout << "Programm : " << argv[0] 
 +       << "Parameter: " << argv[1] << '\n';
 +
 +  return EXIT_SUCCESS;
 +}
 +</code>
  
kennen/lib/exit.txt · Zuletzt geändert: 2012-04-11 17:23 (Externe Bearbeitung)