Frage

Ich schreibe C ++ Konsolenprogramme. Nach dem Übersetzen, wenn ich das Programm von meinem Datei-Browser ausführen, cmd.exe schließt sich automatisch, so dass ich nicht meine Programme Ausgabe sehen können.

Der einzige Weg, dies zu umgehen, die ich gefunden habe ist das Programm von innen cmd.exe ausführen

Gibt es trotzdem cmd.exe offen zu halten, nachdem ein Programm ausgeführt wird beendet?

Gibt es eine Einstellung, die ich irgendwo ändern? Ich will nicht, ein Batch-Skript mit cmd.exe / K

laufen

Danke!

[Bearbeiten] Sie wissen nicht, ob dies wichtig ist, aber ich bin auf Vista x64

War es hilfreich?

Lösung

Haben Sie Ihre Anwendung auf einen Tastendruck fragt vor dem Beenden - das ist die einfachste Lösung

Andere Tipps

Sie können Setup eine Verknüpfung mit dem / K-Schalter, wenn cmd.exe starten, um es beenden nicht nach einem bestimmten Befehl ausführen:

 cmd.exe /K YourProgram.exe

Ich war schon immer ein Fan von nur einer Batch-Datei zu erstellen, die Sie Programm ruft und ruft dann Pause

PROG.EXE Pause

Das wird eine schöne „Drücken Sie eine beliebige Taste, um fortzufahren ...“ geben prompt, es ist einfach und erfordert keine Änderung des Programms.

Als letzte Zeile Ihrer main() Funktion, können Sie diese Zeile hinzu:

system("PAUSE");

Stellen Sie außerdem sicher #include <stdlib.h> die system() Funktion zu erklären. Dadurch wird die Konsole Pause machen. Allerdings, wenn Ihr Programm von innen cmd.exe ausgeführt wird, wird dies noch anhalten, was unerwünscht sein kann.

Ich weiß, dass Sie gefragt, wie es über einen Dateibrowser zu tun, aber für den Fall, sind andere Menschen interessieren sich für das gleiche Problem, aber durch Visual Studio:

Es ist am besten, einen Haltepunkt in Ordnung zu bringen, bevor das Programm beendet ist.

Dann können Sie Ihre exe bereitstellen und Sie können sicher sein, dass Sie nicht vergessen, die Bitte um Eingabe zu entfernen. Es ist auch besser als für die Eingabe zu fragen, weil es viel Zeit in Anspruch nimmt Stellung und zurück in die für die Eingabe zu fragen.

Ich denke, es ist am besten nicht für die Eingabe zu stellen und stattdessen das Programm von einer Eingabeaufforderung gestartet zu starten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top