DOS-Fenster schließt sich sofort

honeyboy

Mitglied
hi leutz,

ich will jetzt in die C++-Programmierung einsteigen und hab mir jetzt mal ein Buch besorgt ("C++ in 21 Tagen").
Funktioniert auch alles wunderbar, nur habe ich das Problem, dass sich beim Starten meiner kompilierten Dateien ein DOS-Fenster öffnet (das is ja auch noch gut so :D ), das sich aber sofort wieder schließt. Ich habe also ein einfaches "Hello World"-Program, das ich kompiliere und ausführe. Es öffnet sich ein DOS-Fenster, "Hello World" erscheint auch, aber ich kanns nicht lesen, da das Fensterchen nichtmal ne halbe Sekunde offen bleibt.
Wenn ich jetzt zum Beispiel ein Program habe, bei dem ich eine Eingabe verlange, wird der Code bis dorthin ausgeführt, ich gebe zwei Zahlen ein, und das Program läuft weiter, schließt sich aber nach der letzten Codezeile sofort und ohne zögern :(

Ich arbeite unter Win 98 (SE) und mit "Dev-C++" (wobei ich kaum glaube, dass es am Compiler liegt...). Wäre nett, wenn mir jemand helfen könnte, dieses Problem zu lösen.

mfg
honeyboy

(P.S.: Ist nicht nur bei meinen eigenen Programmen so, sondern auch wenn ich beispielsweise über "Ausführen" DOS-Programme starten will...)
 
Nee, das liegt an Windows. Wenn sich ein DOS-Fenster öffnet, dann bleibt dieses nur so lange offen bis ein exit stattfindet (sprich bis das aufgerufene Programm beendet ist). Also starte am besten dein Script per Kommandozeile, nachdem du das Fenster mit "Ausführen"->"command" geöffnet hast.
Irgendwo kannst du auch einstellen, dass sich das Fenster nicht schließt, auch wenn das Programm beendet wurde.

[EDIT]
Der Vers am Ende kommt mir irgendwie bekannt vor. Woher ist das?
[/EDIT]
 
Meine Sig?

Kommt aus ner Geschichte, die ich mal von meinem Freund geschickt bekommen habe, weiß nicht, ob das noch woanders vorkommt ;)

Naja, danke jedenfalls für deinen Tip, ich werds ausprobieren....
 
Setzt am besten ein system("pause"); an das Ende....
dann müsste das DOS Fenster offen bleiben....
 
wenn du grad mit C++ anfängst, hau erst mal keinen return(); da hin,
weil die meißten Anfängerbeispiele fangen in solchen büchern bestimmt so an:

#include ......

void main()
{
[

und dann bekommst gleich Compilerfehler und weißt (noch) nicht warum....

mit return bestimst du nur den Wert den z.B: eine Funktion zurück lierfern soll ...
 
Sicher das Return ein Konsollenfenster (nicht DOS) offen hält?
Ich habe das getestet, es ging aber nicht.

Return gibt ja nur ein Rückgabewert zurück, ob das Programm sauber ausgeführt wurde.
 
deswegen sag ich ja nimm system("pause");
vielleicht ohne Anführungszeichen....

aber das funktioniert ...
 
Zurück