529 Stimmen

Verhindern des Schließens des Konsolenfensters bei der Visual Studio C/C++-Konsolenanwendung

Diese Frage ist wahrscheinlich peinlich, denn die Antwort liegt zweifellos auf der Hand.

Ich verwende Visual Studio schon seit Jahren, aber dies ist das erste Mal, dass ich eine "Konsolenanwendung" entwickle.

Wenn ich meine Anwendung ausführe, öffnet sich das Konsolenfenster, die Programmausgabe wird angezeigt, und dann wird das Fenster geschlossen, wenn die Anwendung beendet wird.

Gibt es eine Möglichkeit, das Fenster entweder geöffnet zu lassen, bis ich die Ausgabe überprüft habe, oder die Ergebnisse nach dem Schließen des Fensters anzuzeigen?

491voto

Tom Punkte 20377

Wenn Sie das Programm ohne Debugging ausführen (Strg+F5), werden Sie standardmäßig aufgefordert, die Eingabetaste zu drücken, um das Fenster zu schließen. Wenn Sie den Debugger verwenden möchten, sollten Sie in der letzten Zeile einen Haltepunkt setzen.

258voto

Viraj Punkte 2527

Klicken Sie mit der rechten Maustaste auf Ihr Projekt

Eigenschaften > Konfigurationseigenschaften > Linker > System

Wählen Sie Konsole (/SUBSYSTEM:CONSOLE) en SubSystem oder Sie können einfach Folgendes eingeben Console in das Textfeld!

Versuchen Sie es jetzt... es sollte funktionieren

95voto

chronoxor Punkte 2531

Ab Visual Studio 2017 (15.9.4) gibt es eine Option:

Tools->Options->Debugging->Automatically close the console

Das entsprechende Fragment aus der Visual Studio-Dokumentation :

Schließen Sie die Konsole automatisch, wenn das Debugging beendet ist:

Weist Visual Studio an, die Konsole am Ende einer Debugging-Sitzung zu schließen.

44voto

Shaun Punkte 515

Hier ist eine Möglichkeit für C/C++:

#include <stdlib.h>

#ifdef _WIN32
    #define WINPAUSE system("pause")
#endif

Setzen Sie dies an den Anfang Ihres Programms, und WENN es auf einem Windows-System läuft ( #ifdef _WIN32 ), dann wird ein Makro namens WINPAUSE . Wann immer Sie Ihr Programm anhalten wollen, rufen Sie WINPAUSE; und hält das Programm mit dem DOS-Befehl an. Bei anderen Systemen wie Unix/Linux sollte die Konsole beim Beenden des Programms ohnehin nicht beendet werden.

35voto

pashaplus Punkte 3120

Gehe zu Debug Menü-> Presse StartWithoutDebugging

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X