Как сделать чтобы консоль не закрывалась c после выполнения
Перейти к содержимому

Как сделать чтобы консоль не закрывалась c после выполнения

  • автор:

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

Author24 — интернет-сервис помощи студентам

Всем привет, такая проблема, после выполнения программы окно консоли закрывается. Как можно предотвратить это, не используя system(«pause»)?

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Консоль закрывается в процессе выполнения программы — С++
В Visual Studio в процессе выполнения программы и в процессе работы закрывается через какое- то.

Не закрывать консоль после выполнения программы
Как сделать чтобы после выполнения програмы блэкскрин не закрывался?

Консоль закрывается после перехода в функцию
После выполнения функции main консоль закрывается, в чем ошибка? int _tmain(int argc, _TCHAR*.

Закрывается консоль сразу после вывода результата
вот такая проблема, считает всё верно, но сразу после результата консоль закрывается, и помогите.

Как предотвратить автоматическое закрытие консоли после выполнения командного файла

Может ли кто-нибудь сказать мне, какую команду поставить в конце пакетного файла, чтобы предотвратить автоматическое закрытие консоли после выполнения файла?

joe 12 июнь 2009, в 19:06
Поделиться

Было бы хорошо, если бы был способ определить, был ли файл .cmd запущен двойным щелчком в проводнике (тогда вы хотите, чтобы он сделал паузу в конце), или если он был запущен уже открытой командной строкой. В последнем случае (и особенно если он выполняется другой программой) вам не нужна пауза. Я не нашел хорошего решения для этого случая (и обычно использую переменную if% NOPAUSE%, но это работает только для родительских программ, а не для оболочек paremt).

eckes 06 нояб. 2012, в 17:34
Есть способ: stackoverflow.com/questions/3551888/…
EM0 17 май 2017, в 09:57
Поделиться:
command-line

14 ответов

Лучший ответ

В пакетных файлах Windows/DOS:

pause 

Это печатает приятное сообщение «Press any key to continue . . . «

Или, если вы не хотите сообщение «Press any key to continue . . .» , сделайте это вместо этого:

pause >nul 

Dave Bauman 12 июнь 2009, в 20:54
Поделиться

Ни одно из предложенных здесь предложений не работает для меня, если дважды щелкнуть файл bat. Это серверная среда (и я должен запустить скрипт в ней), чтобы они могли изменить поведение. Это не меняет мою цель. Чтобы командное окно оставалось открытым, я могу выводить сообщение об ошибке.

Henrik Erlandsson 28 окт. 2016, в 07:28

Да, это не всегда работает в зависимости от окружающей среды. Для более надежного решения см. Мой ответ ниже. По сути, просто сделайте set / p exitkey = «Нажмите любую клавишу, чтобы продолжить . «

Steven Mark Ford 29 сен. 2017, в 04:08

Зависит от точного вопроса!

Обычно pause выполняет задание в файле .bat.

Если вы хотите, чтобы cmd.exe не закрывался, чтобы продолжать печатать, используйте команду cmd /k в конце файла.

Rutger Nijlunsing 12 июнь 2009, в 19:40
Поделиться
Это работает, когда пауза нет.
Phillip 14 март 2013, в 17:55

Если вы запускаете команды Windows через диалоговое окно «Выполнить», вместо этого введите cmd /k перед вашей командой. & cmd /k не будет работать.

Noumenon 06 май 2018, в 13:10

Если вы хотите, чтобы cmd.exe не закрывался и мог продолжать печатать, используйте cmd /k

Просто почувствовал необходимость уточнить, что делает /k (с сайта Windows):

/k : Выполняет команду, указанную в строке, и продолжает.

Итак, cmd /k без последующей команды в конце файла bat просто сохранит окно cmd.exe для дальнейшего использования.

С другой стороны, pause в конце командного файла просто приостанавливает процесс и завершает cmd.exe при первой кнопке, нажав

Valentine Stone 22 янв. 2015, в 07:22
Поделиться

Добавьте cmd.exe в новую строку под кодом, который вы хотите выполнить:

c:\Python27\python D:\code\simple_http_server.py cmd.exe 

lyfing 16 нояб. 2014, в 15:38
Поделиться

Ниже приведен список команд в командном файле, который откроет новые окна командной строки, а новые окна не будут автоматически выходить.

start "title" call abcd.exe param1 param2 start "title" call xyz.exe param1 param2 

user6928445 05 окт. 2016, в 20:26
Поделиться

В моем случае у меня была какая-то ошибка во время выполнения команды терминала, и поэтому команды ‘pause’ и ‘cmd / k’ не помогли мне остановить программу из-за ошибки. Этот пример помог мне показать, у меня есть ошибка, а также остановился совсем из терминала. Спасибо!

HowDoYouTellForAChild 08 окт. 2018, в 12:03

Вызвать cmd в конце командного файла.

user4155296 17 окт. 2014, в 21:53
Поделиться

мой способ — написать фактическую партию (говоря «foo.bat» ), чтобы закончить работу; затем создайте еще один «start.bat»:

@echo off cmd /k foo.bat 

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

Erich Chen 04 янв. 2017, в 10:04
Поделиться

Вы можете просто поместить cmd /k (без какой-либо команды) в конец файла foo.bat и запустить его. Вам не нужен отдельный файл start.bat .

ADTC 16 окт. 2017, в 00:13

set /p= 

. Он будет ожидать ввода пользователем и высвободит поток при нажатии клавиши.

runas /user:# "" >nul 2>&1 

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

npocmaka 15 фев. 2015, в 02:57
Поделиться

Этот маленький хак просит пользователя ввести ключ и сохраняет его в переменной% exitkey% (эта переменная может быть вызвана тем, что вам нравится, хотя).

set /p exitkey= "Press any key to continue. " 

NB: пространство после ‘=’ очень важно

Steven Mark Ford 29 сен. 2017, в 05:52
Поделиться

Легко, добавьте cmd в свою последнюю строку летучей мыши, НО! если вы reset или очистите свой системный путь, вы должны запустить свой cmd с полным путем, например:

%windir%\system32\cmd.exe 

Например, у меня есть файл bat для reset jdk для старой версии, например:

PATH=C:\Program Files\Java\jdk1.6.0_45\bin;C:\apache-ant-1.7.1\bin SET JAVA_HOME=C:\Program Files\Java\jdk1.6.0_45 %windir%\system32\cmd.exe 

так как я reset системный путь, я должен запустить cmd с полным путем или система не сможет найти cmd.exe, он не сможет запустить cmd и просто закроет окно, t см. сообщение об ошибке.

Wei Kleeff 04 сен. 2017, в 04:17
Поделиться

Есть два способа сделать это зависит от варианта использования

1) Если вы хотите, чтобы приглашение Windows cmd оставалось открытым, чтобы вы могли увидеть результат выполнения и закрыть его впоследствии; использовать

2), если вы хотите, чтобы приглашение Windows cmd оставалось открытым и позволяло выполнять некоторые последующие команды; использовать

Изображение 7243

Hitesh Sahu 02 сен. 2017, в 10:19
Поделиться

Я знаю, что опаздываю, но мой предпочтительный способ:

:programend pause>nul GOTO programend 

Таким образом, пользователь не может выйти с помощью ввода.

decadenza 05 июнь 2017, в 15:07
Поделиться

Я думаю, да, поскольку это улучшенный способ предотвращения закрытия консоли. Даже если пользователь нажимает клавишу, консоль остается открытой. Пользователь будет вынужден выйти, только закрыв окно консоли.

decadenza 11 нояб. 2018, в 19:22

Возможность 1: Просто создайте 2 файла .bat и напишите в первую:

start // name of 2nd batch file exit 

Пакетный файл 2 — это файл, который не закрывается в конце. Итак, теперь, когда вы открываете партию № 1, она начнет 2-й и сам гной. Когда второй заканчивается, он не будет полностью закрываться (до тех пор, пока вы не положите выход в конце)

Возможность 2: Пакетный файл 1:

call cls echo End of file pause

Когда второй файл заканчивается, он снова переходит к файлу 1 и выводит оставшуюся часть. С этим вы даже можете сделать обработчики ошибок. Если nr.1 сбой, он переходит в nr.2 и отображает его

Программирование на C, C# и Java

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

ОСТОРОЖНО МОШЕННИКИ! В последнее время в соиальных сетях учстились случаи педложения помощи в написании прогамм от лиц, прикрвающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в псторонних группах ВК. Для связи с нами используйте исключительно эти контакт: vscoderu@yandex.ru, https://vk.com/vscode

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

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

Рассмотрим программу на языке C, которая выводит в консоль надпись «Hello world!»:

printf ( «Hello world!\n» ) ;

Запустим программу, для этого нажмем в Visual Studio клавишу F5. Консоль появляется и мгновенно исчезает. Существуют два пути решения этой проблемы.

Первый. Самый простой. Нажать одновременно клавиши Ctrl и F5. Смотрим результат:

consoleIsNotclosedC1

Второй способ (которым почему-то пользуется большинство начинающих. Дописать в конце программы функцию, которая считывает символ с клавиатуры (_getch(), чтобы эта функция работала, подключаем библиотеку ), тем самым программа ждет ввода символа и консоль не закрывается, а мы смотрим на результат ее работы.

ITExplain

Please read How to support Ukraine if you haven’t done it yet!

Advertisements

Recent Posts

  • How to generate random number in Jenkins
  • Error loading shared library libresolv.so.2: No such file or directory
  • Windows Server – A service installation section in this INF is invalid
  • How to clone git without/ignore lfs files
  • ImportError: no module named ‘ssd1306’ in micropython

Recent Comments

Archives

Categories

Meta

C++ как сделать чтобы консоль не закрывалась

Spread the love

Чтобы окно программы не закрывалось после завершения ее работы, достаточно в конце добавить одну строчку (после кода всей программы). Есть несколько вариантов:

1. Кросплатформенный (Windows, Linux, …)
Используем cin из библиотеки iostream

using namespace std;

int main ()
<
int i = 0;
cout cin >> i;
return 0;
>

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

Но можно написать программу и таким образом, чтобы она завершалась после нажатия любой клавиши. В этом случае используем функцию cin.get() из библиотеки iostream .

using namespace std;

После выполнения кода программа будет ожидать нажатия любой клавиши.

2. Только под Windows

Используем функцию system и передаем ей параметр “PAUSE” из библиотеки stdlib.h . Не рекомендуется использовать данный способ!

Код:
Код:
#include
#include
#include
using namespace std;

int main ()
<
int i = 0;
cout system(“PAUSE”);
return 0;
>

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *