2009-12-08 33 views
8

Mögliche Duplizieren:
What is the Best Practice for Combating the Console Closing Issue?Wie können Sie verhindern, dass die Konsole geschlossen wird, nachdem das Programm in C ausgeführt wurde?

Wie halten Sie die Konsole aus zu schließen, nachdem das Programm in C durchgeführt wird? Wenn ich versuche, danach zu suchen, finde ich viele Sachen über C++ und andere Sprachen, aber nichts für C. Auch scheint es für C++ keine definitive Antwort zu geben.

Also könnte mir jemand bitte sagen, was der einfachste Weg (muss nicht sehr elegant sein) Weg, um die Konsole offen zu halten, nachdem ein C-Programm ausgeführt wird?

+0

Duplizieren: http://stackoverflow.com/questions/1173208/what-ist-best-practice-for-combating-the-console-closing-issue –

Antwort

16
  • Lauf das Programm von der Befehlszeile anstelle des Ausführens es direkt.

  • Strg + F5 in Visual C++.

+0

Auch kann durch Ausführen eines 'cmd' getan werden prompt (Start | Ausführen | "cmd") und dann das Programm von dort aus ausführen. – wallyk

+1

@walyk das ist, worum es im ersten Punkt geht. – AraK

+1

Ich weiß, aber einige GUI-zentrierte Leute wissen nicht, * wie * das zu bekommen. – wallyk

10

Konsolenanwendungen sollen von der Konsole aus ausgeführt werden. Wenn Sie das tun, bleiben Sie nach dem Ausführen in Ihrem Konsolenfenster und können die Ausgabe Ihres Programms leicht sehen.

Sie können etwas wie getchar() verwenden, um zu erzwingen, dass die Anwendung auf einen Tastendruck wartet.

+1

Es wurde immer noch mit einem getchar() am Ende der Datei geschlossen. Was ist das Problem? – user124384

0

Lassen Sie die Konsole schließen.

Wenn Sie im Programm die Konsole vom Schließen abhalten, wird es die Automatisierung mit Ihrem Programm erschweren, oder es wird das Format der Programmeingabe merkwürdig machen.

Reparieren Sie stattdessen zuerst, was das Programm ausführt, um das Terminalfenster nicht zu schließen. Wenn dies MS Visual Studio ist, versuchen Sie F5 (Start ohne Debugging). Wenn Sie das Debuggen benötigen, fügen Sie am Ende des Programms eine Markierung ein. Andernfalls öffnen Sie eine Eingabeaufforderung/Terminal und führen Sie das Programm dort selbst aus.

0

1) Ihre IDE öffnet die Konsole, bevor das Programm beginnt.
2) Ihr Programm endet
3) schließt die IDE die Konsole

a) Sie einfach die IDE sagen nicht die Konsole schließen ... oder
b) machen Ihr Programm nicht beenden.

a) Keine Ahnung, wie es geht.
b) unmittelbar vor dem return 0; das Programm zu beenden verwendet

printf("Press ENTER a few times to terminate the program"); 
fflush(stdout); 
getchar(); getchar(); getchar(); getchar(); 
getchar(); getchar(); getchar(); getchar(); 
return 0; 
17

sind alle davon aus, dass Sie die Konsole app und dann im Wesentlichen leave it „läuft“ und wartet auf Benutzereingaben Die bisherigen Antworten hinzufügen aufrufen wollen beenden . Wenn das die richtige Annahme ist, dann +1 auf GMans Antwort. Wenn Sie jedoch fragen, wie Sie diese Konsolenanwendung über eine Verknüpfung, Start> Ausführen oder einen anderen Mechanismus aufrufen und das Cmd-Fenster geöffnet lassen, müssen Sie es über cmd.exe selbst mit der Option /k wie folgt aufrufen:

Dies wird ein Cmd-Fenster starten, führen Sie Ihre Konsole App, und lassen Sie dann das Cmd-Fenster geöffnet.Dies wird @Thanatos oben adressieren. Er hat Recht damit, dass Sie die Konsolen-App schließen sollten. Auch für mich ist es unklar, was Sie wirklich fragen, was das Endziel sein sollte.

Wenn ich die falsche Annahme (n) aus, können Sie mich auf -1.

0

Sie können getch() am Ende Ihres Programms verwenden. Eine andere Möglichkeit besteht darin, das Programm zu debuggen und einen Unterbrechungspunkt vor dem Ende des Programms zu setzen.

Verwandte Themen