Programm endet automatisch

aus WB Wiki; freien Wissensdatenbank rund ums Thema Computer
Wechseln zu: Navigation, Suche

Es wird immer und immer wieder gefragt, warum sich ein Konsolenprogramm unter Windows sofort (bzw. nach vollendeter Eingabe) wieder schließt.

Die Antwort ist relativ einfach: Das Programm schließt sich, weil die Ausführung beendet ist.

Um das zu verhindern kann man folgende Codes benutzen (es gibt natürlich sehr viele Lösungen - die folgenden sind nur ein paar davon).

Die folgenden Beispiele sind für C++:

 1)
 #include <stdlib.h>
 system("PAUSE");                            

oder

 system("PAUSE > NUL")
 am Ende der main-Funktion einfügen.
 
 (ACHTUNG: dieser Code ist nur für Windows, da das PAUSE-Programm auf anderen Systemen nicht existiert)
 2)
 #include <conio.h>
 getch();
 Am Ende der main-Funktion einfügen.

 (ACHTUNG: der Header conio.h und die in ihm deklarierte Funktion getch() sind kein Standard - dieser   
 Code wird auf nicht-Windows-Systemen nicht compilieren)
 3)
 #include <stdio.h>
 getc(stdin);
 Am Ende der main-Funktion einfügen.

 (Diese Variante sollte auf allen Systemen funktionieren, wartet aber gezielt auf das Drücken der 
 ENTER-Taste - deshalb habe ich diese Methode zuletzt aufgeführt)
 4)
 #include <iostream.h>
 cin.get();
 Am Ende der main-Funktion einfügen.
 (ACHTUNG: iostream macht euer Programm sehr groß. Wenn ihr iostream jedoch sowieso einsetzt macht  
 das natürlich keinen Unterschied. Sollte auf allen Systemen funktionieren)




Diese Werte sind für C# (C-Sharp):

 Console.ReadLine()

 Console.ReadKey()

 Console.Read()




Diese Werte sind für die Programmiersprache "Batch" unter Windows:

 PAUSE
 (Beim Source Code, am Ende des Codes einfügen)