2010-11-07 8 views
39

Я использую Visual Studio 2010 и Windows 7 x64Как остановить консоль от закрытия при выходе?

Командная строка закрывается после выхода, хотя я использовал «Начать без отладки». Есть ли где-нибудь где-нибудь, что я могу использовать?

+0

starnge это происходит даже тогда, когда вы начинаете без отладки .... hmmm ... но любые из приведенных ниже предложений будут делать :-) приветствие –

ответ

75

Вы можете просто нажать Ctrl + F5 вместо F5 для запуска встроенного кода. Затем он предложит вам нажать любую клавишу, чтобы продолжить. Или вы можете использовать эту строку ->system("pause"); в конце кода, чтобы она дождалась нажатия любой клавиши.

Однако, если вы используете эту строку, system("pause"); и нажмите Ctrl + F5 для запуска, он предложит вам в два раза!

+1

Это должен быть самый проголосовавший ответ. – Shiki

+0

согласен. Я отметил это как правильный ответ. – segfault

+4

Я не понимаю, почему в этом вопросе говорится, что консоль закрывается, хотя он работает с «Начать без отладки», но работает Ctrl + F5, что является просто горячей клавишей для «Начать без отладки». – jfritz42

6

Что относительно Console.Readline();?

5

Добавьте в свою программу Console.ReadKey, чтобы заставить ее дождаться нажатия клавиши до выхода.

+5

спасибо, но нет ли общего решения? Я не хочу добавлять это к концу каждой программы. – segfault

2

Вы можете открыть командную строку, CD в папку Debug или Release и ввести имя своего exe. Когда я предлагаю это людям, они думают, что много работы, но здесь голые минимальные клики и нажатия клавиш для этого:

  • в Visual Studio, щелкните правой кнопкой мыши проект в обозревателе решений или вкладку с файлом имя, если у вас есть файл в открывшемся решении, и выберите «Открыть содержащую папку» или «Открыть в проводнике Windows»
  • в появившемся окне проводника Windows, дважды щелкните путь к папке с помощью exe
  • Сдвиг-щелчок правой кнопкой мыши на фоне окна проводника и выберите Open Commmand Window здесь
  • введите первую букву исполняемого файла и нажмите ta б пока полное имя не появится
  • нажмите клавишу ВВОД

Я думаю, что 14 нажатий клавиш и щелчков (счетные Shift-правой кнопкой мыши, как два, например), которые на самом деле не так много. Если у вас есть командная строка, конечно, запустить его снова будет просто стрелка вверх, введите.

35

Да, в VS2010 они несколько изменили это поведение.
Откройте проект и перейдите к следующему меню: Project -> YourProjectName Properties -> Свойства конфигурации -> Linker -> System. Там в поле SubSystem используйте раскрывающийся список, чтобы выбрать Консоль (/ SUBSYSTEM: CONSOLE), и примените это изменение.
«Начать без отладки» следует делать правильно сейчас.

Или, если вы пишете в C++ или C, положить

system("pause"); 

в конце вашей программы, то вы получите «Нажмите любую клавишу для продолжения ...» даже при работе в отладке Режим.

+0

У меня тоже странное поведение для одного из консольных приложений.он работал, а затем внезапно остановился. –

+0

Это дает ошибку: система является пространством имен, но используется как переменная – Kokodoko

+0

Отлично. У меня была эта проблема, потому что шаблон проекта, созданный генератором-мастером VS2010, не имел этого флага. – jsj

Смежные вопросы