Вопрос

Я пишу консольные программы на C ++.После компиляции, когда я запускаю программу из моего файлового браузера, cmd.exe автоматически закрывается, так что я не могу видеть выходные данные моей программы.

Единственный способ обойти это, который я нашел, - запустить программу изнутри cmd.exe

Есть ли в любом случае возможность сохранить cmd.exe открытым после завершения работы программы?

Есть ли какие-то настройки, которые я могу где-то изменить?Я не хочу запускать пакетный скрипт с помощью cmd.exe / K

Спасибо!

[Редактировать] Не знаю, имеет ли это значение, но я использую Vista x64

Это было полезно?

Решение

Попросите ваше приложение запросить нажатие клавиши перед выходом - это самое простое решение!

Другие советы

Вы можете настроить ярлык с помощью переключателя /K при запуске cmd.exe чтобы он не завершался после выполнения данной команды:

 cmd.exe /K YourProgram.exe

Я всегда был поклонником простого создания пакетного файла, который вызывает вашу программу, а затем вызывает pause

Prog.exe Пауза

Это выдаст приятное приглашение "Нажмите любую клавишу, чтобы продолжить ...", это просто и не требует модификации программы.

Как последняя строка вашего main() функция, вы можете добавить эту строку:

system("PAUSE");

Кроме того, убедитесь, что #include <stdlib.h> объявить о system() функция.Это заставит консоль приостановиться.Однако, если ваша программа запускается изнутри cmd.exe, это все равно приведет к паузе, что может быть нежелательным.

Я знаю, что вы спрашивали, как это сделать через файловые браузеры, но на случай, если другие люди заинтересуются той же проблемой, но через visual Studio:

Лучше всего установить точку останова непосредственно перед завершением вашей программы.

Затем вы можете развернуть свой exe-файл и быть уверены, что не забудете удалить запрос на ввод.Это также лучше, чем запрашивать ввод, потому что требуется много времени, чтобы прокомментировать запрос ввода и вернуться к нему.

Я думаю, что лучше всего не запрашивать ввод, а вместо этого запустить вашу программу из запущенной командной строки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top