Удерживание cmd.exe открыть в Vista
Вопрос
Я пишу консольные программы на 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-файл и быть уверены, что не забудете удалить запрос на ввод.Это также лучше, чем запрашивать ввод, потому что требуется много времени, чтобы прокомментировать запрос ввода и вернуться к нему.
Я думаю, что лучше всего не запрашивать ввод, а вместо этого запустить вашу программу из запущенной командной строки.