Не закрывать консоль после выполнения программы

Это, вероятно, смущающий вопрос, так как, несомненно, ответ очевиден.

Я использовал Visual Studio много лет, но впервые я разрабатывал «Консольное приложение».

Когда я запускаю свое приложение, всплывает окно консоли, появляется вывод программы, а затем окно закрывается при выходе из приложения.

Есть ли способ оставить его открытым, пока я не проверил вывод, или просмотреть результаты после закрытия окна?

Monodevelop делает то, что вы ожидаете.

Ниже приведено слишком много ответов, поэтому я скопирую ответ здесь: если вы используете VS2017, то выберите Инструменты-> Параметры-> Отладка-> Автоматически закрыть консоль

Согласовано. Я думаю, что лучший ответ для VS 2017 и новее — это chronoxor.

Если вы запускаете без отладки (Ctrl + F5), то по умолчанию он предлагает нажать клавишу возврата, чтобы закрыть окно. Если вы хотите использовать отладчик, вы должны поставить точку останова на последней строке.

Если у вас есть приложение на C ++ и «Выполнить без отладки», а окно консоли по-прежнему закрывается, вам нужно не забыть явно установить для Подсистемы значение «Консоль» в разделе «Свойства конфигурации / Linker / System». Это может произойти, если вы начинаете с пустого проекта, который оставляет подсистему неустановленной.

Командная строка закрывается после выполнения команды (Решение)

У меня не сработало 🙁 Окно консоли открывается и сразу закрывается, но журнал останавливается и ждет дополнительного нажатия F5

Тревор Робинсон прав. Если вы запускаете пустой проект и C ++ элемент. Вам нужно перейти в View-> Property Manager-> Property (значок гаечного ключа) -> Config. Свойства-> Линкер-> Система-> Подсистема-> во всплывающем меню выберите Консоль.

Я работаю над сообществом VS 2017. ctrl+f5 не работает, нет, Properties когда я щелкаю правой кнопкой мыши проект, также wrench icon серый цвет.

Щелкните правой кнопкой мыши по вашему проекту

Свойства> Свойства конфигурации> Линкер> Система

Выберите Console (/ SUBSYSTEM: CONSOLE) в SubSystem опции или вы можете просто ввести Console в текстовое поле!

Теперь попробуйте . это должно работать

Это сработало для моего VS2013 Express, но принятого ответа нет. Очень странно, поскольку принятый ответ работал для всех версий Visual Studio, которые я использовал в прошлом.

Это действительно правильно. Знакомый CTRL+F5 потерпит неудачу, если вы, скажем, добавите новый файл C ++ в пустой проект.

Работал для меня на Visual Studio Express 2015. Спасибо.

Вот способ для C / C ++:

#include #ifdef _WIN32 #define WINPAUSE system(«pause») #endif

Поместите это в верхнюю часть вашей программы, и ЕСЛИ она находится в системе Windows ( #ifdef _WIN32 ), то она создаст макрос с именем WINPAUSE . Всякий раз, когда вы хотите, чтобы ваша программа приостановила работу, позвоните, WINPAUSE; и она приостановит программу, используя команду DOS. Для других систем, таких как Unix / Linux, консоль не должна закрываться при выходе из программы.

C++ закрывается консоль. Что делать? Задержка экрана консоли. Урок #21.

Этот метод не работает в Visual C ++ (если вы не
Я не включил ни одну библиотеку или пространство имен, но он работает правильно, большое спасибо.
Не делай этого, пожалуйста. Команда pause зависит от Windows.
Работал для меня на Visual Studio 2013 Express. 🙂

Перейти к меню отладки-> Нажмите Пуск без отладки

Это даже не вариант в VS 2008, если не была выбрана среда разработки C #. CTRL + F5 работает, хотя. Вы также можете добавить это как кнопку на панель инструментов через Инструменты> Настроить.

Если у вас есть несколько проектов, установите соответствующий в качестве стартового проекта

Если вы используете .NET, поставьте Console.ReadLine() перед концом программы.

Это будет ждать .

+1 — Либо это, либо Console.ReadKey() просто ждать любую клавишу.

Странно, это не влияет на мое приложение. Он по-прежнему закрывается без ожидания ввода пользователя.

Тогда ваш код, скорее всего, завершается до того, как достигнет этой точки.

Начиная с Visual Studio 2017 (15.9.4) существует опция:

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

Автоматически закрывать консоль при остановке отладки:

Сообщает Visual Studio закрыть консоль в конце сеанса отладки.

Я только что проверил это в VS2017 и VS2019. Это требует как установки подсистемы на CONSOLE, так и отключения этой опции. Наличие одного или другого или ни того, ни другого не закрывает окно автоматически.

Это все еще закрывает окно для меня, если я запускаю несколько проектов из одного решения.
Я чувствую, что это правильный ответ для VS 2017 и вперед. Жаль, что это не в старых версиях.

Попробуйте позвонить getchar() прямо до main() возвращения.

Не работает в VS 2008 для простого консольного приложения Hello Name. cout, cin, cout, getchar (), консоль все еще закрывается. В чем дело?

Читайте также:
Mac программа размер файлов

Попробуйте поставить getchar () дважды, если у вас есть cout перед getchar (). getchar () ожидает char, а вы уже передаете его cout . Дайте мне знать, если это поможет 🙂

(/ SUBSYSTEM: CONSOLE) не работал для моего vs2013 (он у меня уже был).

«запустить без отладки» не вариант, так как я не хочу переключаться между отладкой и просмотром вывода.

int main() . #if _DEBUG LOG_INFO(«end, press key to close»); getchar(); #endif // _DEBUG return 0; >

Решение, используемое в qtcreator pre 2.6. Теперь, когда Qt растет, Vs идет другим путем. Насколько я помню, в vs2008 нам не нужны были такие хитрости.

Вот решение, которое (1) не требует никаких изменений кода или точек останова, и (2) делает паузу после завершения программы, чтобы вы могли видеть все, что было напечатано. Он будет приостановлен после F5 или Ctrl + F5. Основным недостатком является то, что на VS2013 Express (как проверено) он не загружает символы, поэтому отладка очень ограничена.

%1 %2 %3 %4 %5 %6 %7 %8 %9 pause

Теперь, когда вы запустите, runthenpause.bat запустите ваше приложение, и после того, как ваше приложение будет завершено, вы остановитесь, чтобы увидеть вывод консоли.

Я опубликую обновление, если выясню, как загрузить символы. Я пытался /Z7 по этому, но безуспешно.

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

просто введите в качестве последней строки кода:

system(«pause»);

Вы можете запустить свой исполняемый файл из командной строки. Таким образом, вы можете увидеть все результаты. Или вы можете сделать что-то вроде этого:

int a = 0; scanf(«%d», return YOUR_MAIN_CODE;

и таким образом окно не закроется, пока вы не введете данные для a переменной.

добавить «| Пауза »в поле аргументов команды в разделе отладки в свойствах проекта.

Это было бы отличным решением, если бы это работало. pause похоже, работает только в пакетных файлах, и хотя он получает данные от вашей программы на STDIN, он не перепечатывает этот текст. Я попытался заменить | на , но это не имело никакого эффекта — вероятно, потому что это не выполняется с командной оболочкой (cmd.exe).

Просто нажмите CNTRL + F5, чтобы открыть его во внешнем окне командной строки (Visual Studio не имеет над ним контроля).

Если это не работает, добавьте следующее в конец кода:

Console.WriteLine(«Press any key to exit. «); Console.ReadKey();

Это ждет, пока вы нажмете клавишу, чтобы закрыть окно терминала, как только код достигнет конца.

Если вы хотите сделать это в нескольких местах, поместите приведенный выше код в метод (например private void Pause() ) и вызывайте Pause() каждый раз, когда программа достигает возможного конца.

Источник: qastack.ru

Предотвращение закрытия окна консоли в консольном приложении Visual Studio C / C ++

Это, вероятно, вопрос о запуске, поскольку, несомненно, ответ ослепительно очевиден. Я использовал Visual Studio в течение многих лет, но это первый раз, когда я создал любую консольную программу. Когда я запускаю приложение, появляется окно консоли, появляется выход программы, а затем окно закрывается по мере выхода приложения. Есть ли способ открыть его, пока я не проверил вывод или не просмотрел результаты после закрытия окна?

Martin 21 нояб. 2009, в 15:25
Поделиться
Monodevelop делает то, что вы ожидаете.
ctrl-alt-delor 12 дек. 2016, в 18:21

Поделиться:
visual-studio

19 ответов

Лучший ответ

Если вы запускаете без отладки (Ctrl + F5), то по умолчанию он предлагает вам нажать return, чтобы закрыть окно. Если вы хотите использовать отладчик, вы должны поставить точку останова в последней строке.

Tom 21 нояб. 2009, в 17:13
Поделиться

Если у вас есть приложение на C ++ и «Выполнить без отладки», а окно консоли по-прежнему закрывается, вам нужно не забыть явно установить для Подсистемы значение «Консоль» в разделе «Свойства конфигурации / Linker / System». Это может произойти, если вы начинаете с пустого проекта, который оставляет подсистему неустановленной.

Trevor Robinson 25 авг. 2010, в 18:39

Вы также можете добавить кнопку «Пуск без отладки» на любую панель инструментов или меню, если хотите, если вы находитесь в диалоговом окне Tools->Customize.

mwfearnley 22 окт. 2013, в 17:02

У меня не сработало 🙁 Окно консоли открывается и сразу закрывается, но журнал останавливается и ждет дополнительного нажатия F5

CodyBugstein 08 дек. 2013, в 12:17
Tom 08 дек. 2013, в 14:52
PlagueHammer 09 янв.

2014, в 00:39

Это странно, если я запускаю без отладки, ничего не происходит вообще. Приложение даже не запускается. Работает нормально с отладкой.

Kokodoko 29 март 2015, в 11:03
Console.ReadKey (истина); остановит ваше приложение и будет ждать нажатия клавиши.
Dave 21 апр. 2015, в 18:37
Это работает в VS 2015
zee 19 окт. 2015, в 22:54

Читайте также:
Программа видеомонтаж код активации

Это не работает для проектов Makefile. CTRL + F5 не ждет ввода.
user2023370 03 янв. 2016, в 21:22
Хм . это перестало работать в Visual Studio 2015 (по крайней мере, по умолчанию)?

Pedro Reis 10 окт. 2016, в 15:35

Если вы установили Subsystem: Console и Ctrl + F5 STILL приводит к тому, что окно консоли мгновенно закрывается, вам может потребоваться дважды проверить, выбрана ли конфигурация отладки при внесении изменений. Если у вас выбрана другая конфигурация, например, Release, при установке Subsystem: Console у вас, вероятно, будут проблемы с исчезающей консолью после нажатия Ctrl + F5.

Ry Lowry 12 март 2017, в 23:43

Тревор Робинсон прав. Если вы запускаете пустой проект и C ++ элемент. Вам нужно перейти в View-> Property Manager-> Property (значок гаечного ключа) -> Config. Свойства-> Linker-> System-> Subsystem-> во всплывающем меню выберите Console.

most venerable sir 20 сен. 2017, в 15:30

Я работаю над сообществом VS 2017. ctrl+f5 не работает, когда я щелкаю правой кнопкой мыши по проекту, Properties нет, также wrench icon отображается серым цветом.

Ketan 16 дек. 2017, в 06:54
Показать ещё 11 комментариев

Щелкните правой кнопкой мыши на вашем проекте

Свойства> Свойства конфигурации> Линкер> Система

Выберите Console (/SUBSYSTEM: CONSOLE) в опции SubSystem или вы можете просто ввести Console в текстовое поле!

Теперь попробуйте. это должно работать

Viraj 24 март 2013, в 06:34
Поделиться

Это сработало для моего VS2013 Express, но принятого ответа нет. Очень странно, поскольку принятый ответ работал для всех версий Visual Studio, которые я использовал в прошлом.

Michael Calvin 28 янв. 2015, в 20:39
Это должен быть принятый ответ, включенный в текущий принятый ответ.
Ryan 02 июнь 2016, в 02:27
Jonathan Mee 19 окт. 2016, в 11:35
user7468879 28 янв.

2017, в 20:27
это реальное решение ++
Bosak 25 окт. 2017, в 16:55

Это действительно правильно. Привычное CTRL+F5 завершится ошибкой, если, скажем, добавить новый файл C ++ в пустой проект.

user2023370 14 янв. 2019, в 11:55
Показать ещё 4 комментария

Вот способ для C/С++:

#include #ifdef _WIN32 #define WINPAUSE system(«pause») #endif

Поместите это вверху вашей программы, и ЕСЛИ он находится в системе Windows ( #ifdef _WIN32 ), тогда он создаст макрос с именем WINPAUSE . Всякий раз, когда вы хотите, чтобы ваша программа приостанавливалась, вызовите WINPAUSE; , и она приостанавливает программу, используя команду DOS. Для других систем, таких как Unix/Linux, консоль не должна выходить из выхода программы в любом случае.

Shaun 06 авг. 2012, в 16:28
Поделиться
Этот метод не работает в Visual C ++ (если вы не включите заголовок?)
wmac 06 дек. 2015, в 18:21
Geowil 23 янв. 2016, в 20:02

Я не включил ни одну библиотеку или пространство имен, но он работает правильно, большое спасибо.
Halil İbrahim Oymacı 19 март 2016, в 21:47
Не делай этого, пожалуйста. Команда pause зависит от Windows.
firegurafiku 30 сен. 2016, в 09:33
Работал для меня на Visual Studio 2013 Express. 🙂
Anirban 07 окт.

2016, в 08:25

Нет необходимости создавать макрос — просто вызовите систему («пауза»). Окружите его #ifdef, если вам нужно использовать его в других системах.

Dan 07 сен. 2017, в 18:45
Показать ещё 4 комментария

Откройте меню отладки- > Нажмите Начать без использования

pashaplus 28 сен. 2012, в 10:20
Поделиться

Это даже не вариант в VS 2008, если не была выбрана среда разработки C #. CTRL + F5 работает, хотя. Вы также можете добавить это как кнопку на панель инструментов через Инструменты> Настроить.

perry 07 янв. 2015, в 01:16
Если у вас есть несколько проектов, установите соответствующий как стартовый проект
CAD bloke 10 март 2015, в 04:09
Отлично ! Это работает даже в VS 2017.

Christophe 03 март 2018, в 09:16
Показать ещё 1 комментарий

Если вы используете .NET, поместите Console.ReadLine() до конца программы.

Cheeso 21 нояб. 2009, в 17:08
Поделиться
+1 — либо это, либо Console.ReadKey() чтобы просто подождать любую клавишу.
Fredrik Mörk 21 нояб. 2009, в 16:02
-1, модифицирующий код для работы вокруг IDE
binki 26 авг.

2014, в 15:37

Странно, это не влияет на мое приложение. Он по-прежнему закрывается без ожидания ввода пользователя.

Kokodoko 29 март 2015, в 11:04
Тогда ваш код, скорее всего, завершается до того, как достигнет этой точки.
Indeed 09 янв. 2017, в 22:02
Показать ещё 2 комментария

попробуйте вызвать getchar() прямо перед возвратом main() .

Magarusu 04 апр. 2013, в 18:06
Поделиться

Не работает в VS 2008 для простого консольного приложения Hello Name. cout, cin, cout, getchar (), консоль все еще закрывается. В чем дело?

Читайте также:
Что за юран программа

perry 07 янв. 2015, в 01:11

Попробуйте поставить getchar () дважды, если у вас есть cout перед getchar (). getchar () ожидает char, а вы уже передаете его cout . Дайте мне знать, если это поможет 🙂

Magarusu 08 янв. 2015, в 08:42

(/SUBSYSTEM: CONSOLE) не работал для моего vs2013 (у меня его уже было).

«run without debugging» не является параметром, так как я не хочу переключаться между отладкой и просмотром вывода.

int main() < . #if _DEBUG LOG_INFO(«end, press key to close»); getchar(); #endif // _DEBUG return 0; >

Решение, используемое в qtcreator до 2.6. Теперь, когда qt растет, vs идет другим путем. Насколько я помню, в vs2008 нам не нужны такие трюки.

fantastory 15 окт. 2014, в 16:18
Поделиться
Это работает в VS 2015, хотя.
Nik-Lz 23 янв.

2017, в 01:40

Здесь решение, что (1) не требует каких-либо изменений кода или точек останова, и (2) приостанавливается после завершения программы, чтобы вы могли видеть все, что было напечатано. Он остановится после F5 или Ctrl + F5. Основной недостаток заключается в том, что на VS2013 Express (как проверено) он не загружает символы, поэтому отладка очень ограничена.

    Создайте командный файл. Я назвал мой runthenpause.bat со следующим содержимым:

%1 %2 %3 %4 %5 %6 %7 %8 %9 pause

Теперь, когда вы запустите, runthenpause.bat запустит ваше приложение, и после того, как ваше приложение завершится, вы остановитесь, чтобы увидеть вывод консоли.

Я опубликую обновление, если выясню, как загрузить символы. Я пробовал /Z7 за этот, но безуспешно.

cxw 21 июль 2016, в 00:45
Поделиться

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

Источник: overcoder.net

Предотвращение закрытия окна консоли в приложении консоли Visual Studio C / C ++

Это, вероятно, неудобный вопрос, поскольку, без сомнения, ответ ослепляюще очевиден. Я использовал Visual Studio в течение многих лет, но это первый раз, когда я занимаюсь разработкой «консольного приложения». Когда я запускаю свое приложение, появляется окно консоли, появляется вывод программы, а затем окно закрывается при выходе из приложения. Есть ли способ оставить его открытым до тех пор, пока я не проверю вывод, или просмотреть результаты после закрытия окна?

Создан 21 ноя.
Monodevelop делает то, что вы ожидаете. — ctrl-alt-delor
Согласовано. Я думаю, что лучший ответ для VS 2017 и новее — от chronoxor. — All the Rage

21 ответы

Начиная с Visual Studio 2017 (15.9.4) есть возможность:

Tools->Options->Debugging->Automatically close the console
Соответствующий фрагмент из Документация Visual Studio:

Автоматически закрывать консоль при остановке отладки: Сообщает Visual Studio закрыть консоль в конце сеанса отладки.

Создан 20 июн.

Я только что тестировал это в VS2017 и VS2019. Это требует как настройки подсистемы на КОНСОЛЬ, так и выключения этой опции. При наличии одного или другого окно автоматически закрывается. — Кейси

Это по-прежнему закрывает для меня окно, если я запускаю несколько проектов из одного и того же решения. — Серж Рогач

Я считаю, что это правильный ответ для VS 2017 и последующих лет. Жаль, что этого нет в старых версиях. — Последний крик моды

Как изменить подсистему для проекта Makefile? — Андре ван Шубрук

Если вы запускаете без отладки (Ctrl + F5), то по умолчанию вам будет предложено нажать клавишу возврата, чтобы закрыть окно. Если вы хотите использовать отладчик, вы должны поставить точку останова на последней строке.

Создан 21 ноя.

Если у вас есть приложение C ++ и работает без отладки, а окно консоли все еще закрывается, вам нужно не забыть явно установить для подсистемы значение Console в разделе Configuration Properties / Linker / System. Это может произойти, если вы начнете с пустого проекта, в результате чего подсистема останется неустановленной. — Тревор Робинсон

У меня не сработало 🙁 Окно консоли открывается и сразу закрывается, но журнал останавливается и ждет дополнительного нажатия F5 — КодиБагштейн

Тревор Робинсон прав. Если запустить пустой проект, а элемент C ++. Вам нужно перейти в View-> Property Manager-> Property (значок гаечного ключа) -> Config. Свойства-> Линкер-> Система-> Подсистема-> во всплывающем меню выберите Консоль. — достопочтенный сэр

Я работаю над сообществом VS 2017. ctrl+f5 не работает, нет Properties когда я щелкаю правой кнопкой мыши по проекту, также wrench icon неактивен. — Ketan

Щелкните правой кнопкой мыши свой проект

Свойства> Свойства конфигурации> Компоновщик> Система

Выберите Консоль (/ ПОДСИСТЕМА: КОНСОЛЬ) in SubSystem вариант или вы можете просто ввести Консоли в текстовом поле! Теперь попробуйте . он должен работать

Источник: stackovergo.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru