Это, вероятно, смущающий вопрос, так как, несомненно, ответ очевиден.
Я использовал Visual Studio много лет, но впервые я разрабатывал «Консольное приложение».
Когда я запускаю свое приложение, всплывает окно консоли, появляется вывод программы, а затем окно закрывается при выходе из приложения.
Есть ли способ оставить его открытым, пока я не проверил вывод, или просмотреть результаты после закрытия окна?
c
visual-studio
console
Мартин
источник
источник
Ответы:
Если вы запускаете без отладки (Ctrl + F5), то по умолчанию он предлагает нажать клавишу возврата, чтобы закрыть окно. Если вы хотите использовать отладчик, вы должны поставить точку останова на последней строке.
источник
ctrl+f5
не работает, нет,Properties
когда я щелкаю правой кнопкой мыши проект, такжеwrench icon
серый цвет.Щелкните правой кнопкой мыши по вашему проекту
Выберите Console (/ SUBSYSTEM: CONSOLE) в
SubSystem
опции или вы можете просто ввести Console в текстовое поле!Теперь попробуйте ... это должно работать
источник
CTRL+F5
потерпит неудачу, если вы, скажем, добавите новый файл C ++ в пустой проект.Вот способ для C / C ++:
Поместите это в верхнюю часть вашей программы, и ЕСЛИ она находится в системе Windows (
#ifdef _WIN32
), то она создаст макрос с именемWINPAUSE
. Всякий раз, когда вы хотите, чтобы ваша программа приостановила работу, позвоните,WINPAUSE;
и она приостановит программу, используя команду DOS. Для других систем, таких как Unix / Linux, консоль не должна закрываться при выходе из программы.источник
pause
зависит от Windows.Перейти к меню отладки-> Нажмите Пуск без отладки
источник
Если вы используете .NET, поставьте
Console.ReadLine()
перед концом программы.Это будет ждать
<ENTER>
.источник
Console.ReadKey()
просто ждать любую клавишу.Начиная с Visual Studio 2017 (15.9.4) существует опция:
Соответствующий фрагмент из документации Visual Studio :
источник
Попробуйте позвонить
getchar()
прямо доmain()
возвращения.источник
(/ SUBSYSTEM: CONSOLE) не работал для моего vs2013 (он у меня уже был).
«запустить без отладки» не вариант, так как я не хочу переключаться между отладкой и просмотром вывода.
Я закончил с
Решение, используемое в qtcreator pre 2.6. Теперь, когда Qt растет, Vs идет другим путем. Насколько я помню, в vs2008 нам не нужны были такие хитрости.
источник
Вот решение, которое (1) не требует никаких изменений кода или точек останова, и (2) делает паузу после завершения программы, чтобы вы могли видеть все, что было напечатано. Он будет приостановлен после F5 или Ctrl + F5. Основным недостатком является то, что на VS2013 Express (как проверено) он не загружает символы, поэтому отладка очень ограничена.
Создайте командный файл. Я назвал мой
runthenpause.bat
со следующим содержанием:Первая строка будет выполнять любую команду, которую вы предоставляете, и до восьми аргументов. Вторая строка будет ... пауза.
Откройте свойства проекта | Свойства конфигурации | Отладка.
$(TargetPath)
(или что-либо в «Команде»).runthenpause.bat
.Теперь, когда вы запустите,
runthenpause.bat
запустите ваше приложение, и после того, как ваше приложение будет завершено, вы остановитесь, чтобы увидеть вывод консоли.Я опубликую обновление, если выясню, как загрузить символы. Я пытался
/Z7
по этому, но безуспешно.источник
просто введите в качестве последней строки кода:
источник
Вы можете запустить свой исполняемый файл из командной строки. Таким образом, вы можете увидеть все результаты. Или вы можете сделать что-то вроде этого:
и таким образом окно не закроется, пока вы не введете данные для
a
переменной.источник
добавить «| Пауза »в поле аргументов команды в разделе отладки в свойствах проекта.
источник
pause
похоже, работает только в пакетных файлах, и хотя он получает данные от вашей программы на STDIN, он не перепечатывает этот текст. Я попытался заменить|
на&&
, но это не имело никакого эффекта - вероятно, потому что это не выполняется с командной оболочкой (cmd.exe).Просто нажмите CNTRL + F5, чтобы открыть его во внешнем окне командной строки (Visual Studio не имеет над ним контроля).
Если это не работает, добавьте следующее в конец кода:
Это ждет, пока вы нажмете клавишу, чтобы закрыть окно терминала, как только код достигнет конца.
Если вы хотите сделать это в нескольких местах, поместите приведенный выше код в метод (например
private void Pause()
) и вызывайтеPause()
каждый раз, когда программа достигает возможного конца.источник
Несколько лучшее решение:
в начале вашей программы.
Плюсы:
cin.sync(); cin.ignore();
трюк вместоsystem("pause");
)Минусы:
источник
Либо использовать:
cin.get();
или
system("pause");
Обязательно сделайте любой из них в конце
main()
функции и передreturn
оператором.источник
Вы также можете использовать эту опцию
источник
В моем случае я испытал это, когда создал проект Empty C ++ в версии VS 2017 для сообщества. Вам нужно будет установить для подсистемы значение «Консоль (/ SUBSYSTEM: CONSOLE)» в разделе «Свойства конфигурации».
источник
Visual Studio 2015 , с импортом . Потому что я ненавижу, когда примеры кода не дают необходимого импорта.
источник
Используйте
Console.ReadLine()
в конце программы. Это будет держать окно открытым, пока вы не нажмете Enterклавишу. Подробнее см. Https://docs.microsoft.com/en-us/dotnet/api/system.console.readline .источник