Задать вопрос
@vari0us

Правильное не закрывающиеся консольное окно windows?

Уже достало это ..
Раньше просто писал
cin.get()
cin.get()
достало
system(“pause”)
getch()
тоже костыли !

Что еще есть ?
В идеале, чтобы с клавиатуры писать quit для выхода

Как это решается в серьезных проектах ?

P.S.Visual Studio 2015
  • Вопрос задан
  • 1499 просмотров
Подписаться 1 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 5
GavriKos
@GavriKos
Вот такими костылями и решается. Считывается ввод, анализируется на предмет команд и выполняются эти самые команды.
А вообще обычно программа сразу закрывается, когда выполнила все то, что у нее попросили в параметрах. Посмотрите на поведение того же ping - он не ждет от вас никакой команды на выход. Пропинговал и вернул управление консоли.
Ответ написан
Комментировать
@deamentor
Такая возможность действительно имеется. Делается это в настройках проекта следующим образом: ea2aae0c5f864d269681d17038f3e5bf.jpg
При запуске проекта без отладки (Ctrl + F5) будет достигнут нужный результат.
Ответ написан
Комментировать
romy4
@romy4
Exception handler
Вообще да, правильно выше ответили: выполнился — закончи работу. Постоянный цикл считывания std::cin
Ответ написан
@abcd0x00
Как это решается в серьезных проектах ?

Поставь себе Linux.

Раньше просто писал
cin.get()
cin.get()
достало
system(“pause”)
getch()
тоже костыли !

Это нужно только в винде.
Ответ написан
@HeBonpoc
А почему вы решили, что это костыли? Почему ваша программа должна просто висеть и не закрываться если она ничего не делает? Если не все потоки отработали - нужно дождаться потоков. Если программа что-то запускает по таймеру, то ей нужна какая-то команда на закрытие от пользователя => слушаем ввод. Все логично, что вам не хватает?

А abcd0x00 гоните в шею, пришел тут линукс рекламировать, а там тоже самое) Программы и там и там работают по одним принципам и я что-то не слышал, чтобы они умели просто висеть. В любом случае он бы сказал об этом, а не просто "оставил линукс здесь".
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы