Namensräume
Varianten
Aktionen

EXIT_SUCCESS, EXIT_FAILURE

Von cppreference.com
< cpp‎ | utility‎ | program
 
 
Dienstprogramm-Bibliotheken
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Coroutine-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

Allgemeine Hilfsmittel
Relationale Operatoren (in C++20 veraltet)
 
 
Definiert in Header <cstdlib>
#define EXIT_SUCCESS /*implementierungsdefiniert*/
#define EXIT_FAILURE /*implementierungsdefiniert*/

Die Makros EXIT_SUCCESS und EXIT_FAILURE expandieren zu ganzzahligen konstanten Ausdrücken, die als Argumente für die Funktion std::exit (und damit als Rückgabewerte für die main Funktion) verwendet werden können und den Ausführungsstatus eines Programms anzeigen.

Eine freistehende Implementierung muss EXIT_SUCCESS und EXIT_FAILURE bereitstellen.

(seit C++23)
Konstante Beschreibung
EXIT_SUCCESS erfolgreiche Ausführung eines Programms
EXIT_FAILURE nicht erfolgreiche Ausführung eines Programms

[bearbeiten] Anmerkungen

Sowohl EXIT_SUCCESS als auch der Wert Null zeigen einen erfolgreichen Programmablauf an (siehe std::exit), obwohl nicht gefordert ist, dass EXIT_SUCCESS gleich Null ist.

Obwohl EXIT_SUCCESS und EXIT_FAILURE seit C++23 freistehend sein müssen, müssen sie in einer freistehenden C-Implementierung nicht verfügbar sein.

[bearbeiten] Beispiel

#include <cstdlib>
#include <iostream>
 
int main(int argc, char* argv[])
{
    if (argc <= 1)
    {
        std::cout << "At least one command-line argument required\n";
        return EXIT_FAILURE;
    }
 
    std::cout << argv[1] << '\n';
    return EXIT_SUCCESS;
}

Mögliche Ausgabe

The quick brown fox jumps over the lazy cat

[bearbeiten] Siehe auch

C-Dokumentation für EXIT_SUCCESS, EXIT_FAILURE