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

А, вон он о чем. Мастерски вопросы люди задают, я шизею просто.
Готовься кивопросам «че это», «а как» и «напишите мне на языке программирования выход из программы».
Zhbert ★★★★★
( 29.11.17 13:54:48 MSK )
Ответ на: комментарий от waker 29.11.17 13:52:36 MSK
покажите как пожалуйста? программа закрывается с помощью ctrl+z
logonsessons
( 29.11.17 14:00:30 MSK ) автор топика
Ответ на: комментарий от logonsessons 29.11.17 14:00:30 MSK
Ну расскажите подробнее — что за программа, каким действием вы хотите ее закрыть, что вы уже пробовали, что нагуглили.
vaddd ★☆
( 29.11.17 14:37:59 MSK )
Ответ на: комментарий от vaddd 29.11.17 14:37:59 MSK
закрывается с помощью ctrl+z она
logonsessons
( 29.11.17 14:38:59 MSK ) автор топика

cnsr
( 29.11.17 14:42:06 MSK )

Как программно реализовать такой выход в консоли
Как из другой программы закрыть эту программу?
Как свою программу сделать закрывающейся по Q?
Сформулируй, что тебе вообще нужно-то, а то вон телепаты мимо бьют.
massimus ★★★
( 29.11.17 14:42:30 MSK )
Ответ на: комментарий от logonsessons 29.11.17 14:38:59 MSK
Ну расскажите подробнее — что за программа, каким действием вы хотите ее закрыть, что вы уже пробовали, что нагуглили.
Какой информативный ответ. Так и быть, давайте еще раз попробуем:
ну расскажите подробнее — что за программа, каким действием вы хотите ее закрыть, что вы уже пробовали, что нагуглили.
Пауза консоли в C++
Если речь идет только о работе в IDE, для приостановки работы программы можно использовать обычные точки останова и отладчик, какие-то специальные вызовы в коде не нужны. Более того, использование вызовов типа system(«pause») приведет к тому, что программу невозможно будет нормально вызывать из пакетных файлов: она будет каждый раз ждать ввода с реальной консоли, даже если стандартный ввод перенаправлен из файла и ожидалась работа без участия пользователя. Но, если все же действительно нужно приостановить консоль при любом запуске программы, есть несколько вариантов:
system("PAUSE");
- Отображает приглашение ввода («Нажмите любую клавишу»)
- Прерывает работу программы до нажатия любой клавиши
- Работает только под Windows (в других ОС нет команды PAUSE)
- Внутренне вызывает командный интерпретатор, поэтому считается «тяжелым» вариантом (если производительность что-то значит в данном случае)
Есть миф, что такой вызов небезопасен, так как если поместить в папку с программой вредоносный файл pause.exe, он будет вызван вместо команды PAUSE. Это не так в современных версиях Windows.
system("PAUSE>nul");
То же самое, но не отображает приглашение ввода.
getchar(); //С cin.get(); //C++
- Не отображает приглашение ввода
- Прерывает работу программы до нажатия клавиши Enter
- Стандартная функция — работает в любом окружении
В отличие от других вариантов, не ломает перенаправление стандартного ввода (достаточно поместить на вход строку любого содержания, и выполнение программы пойдет дальше).
#include getch(); //Традиционная _getch(); //Современный вариант
- Не отображает приглашение ввода
- Прерывает работу программы до нажатия любой клавиши
- Нестандартная функция, доступна в DOS и Windows (в других ОС есть похожие аналоги)
Опять же, существует миф, что в Windows это какой-то DOSовский вызов и использовать его — дикий криминал. На самом деле, внутренне он реализуется как обычный вызов WINAPI-функции ReadConsoleInput, с предварительным отключением у консоли режима ENABLE_LINE_INPUT. Убедиться в этом можно, заглянув в исходники отладочной версии CRT, которые с некоторого времени частично открыты.
cgmichael
Если ОС не Windows, то вместо строки system (“pause”) можно использовать cin.get().
Также возможен следующий вариант с getch():
#include int main() getch(); return 0; >
Если вы пользуетесь Visual Studio и запускаете свою программу в пошаговом отладчике (Start Debugging – F5), то эта проблема вас вообще не должна интересовать. Если же вы запускаете программу на полноценное выполнение (Start Without Debugging – Ctrl+F5), то консольное окно и так не должно закрываться при завершении программы.
Если же оно у вас таки закрывается, то идите в настройки проекта Project->Properties->’Linker -> System’ и исправьте настройку ‘SubSystem’ на ‘Console’. Окно перестанет закрываться само по себе, а будет просить вас нажать клавишу, как это делает системная команда “pause”.
Задержка экрана консоли на C++
Итак, вы написали консольное приложение, компилятор построил его без ошибок, но после запуска программы окно приложения сразу закрывается, сейчас я расскажу как этого избежать.
Если вы пользуетесь Visual Studio 2008 или более ранней версией, Вам достаточно запускать программу из интерфейса компилятора с помощью нажатия клавиш Ctrl + F5.
Если Вы пользуетесь другим компилятором или хотите использовать Вашу программу вне компилятора, то возможны два способа создание задержки экрана. Первый — Прописать команду system(«pause»); в конце главной функции main, но перед оператором return, например:
#include // Для работы с функцией system() using namespace std; int main() < setlocale(0,""); cout
Эта системный оператор командной строки Windows, также можно реализовать задержку экрана с помощью оператора getch();, но для этого необходимо подключить библиотеку conio.h, пример ниже:
#include // библиотека, необходимая для работы оператора getch(); using namespace std; int main() < setlocale(0,""); cout
Вы можете применять любой из вышеприведенных способов, принципиальных отличий у них не наблюдается, все исходники в разделе C/C++ приведены без команды задержки экрана, так как были откомпилированы в среде Visual Studio 2008 и запускались из под ее интерфейса.