Когда я скомпилирую программу и запускаю exe-файл, она автоматически закрывается. Есть ли способ избежать этого? Я знаю, что вы можете поставить system("pause")
, но я слышал, что его рекомендуется не использовать, или вы можете положить в конец и дождаться, когда пользователь нажмет что-то перед закрытием. Но существует ли какой-либо «реальный» официальный способ остановить программу?Пауза C++ программ в конце, после компиляции
ответ
Ваша программа делает то, что вы хотите. Это означает, что для 'C++' завершается, когда больше нет команд для запуска.
У вас есть много способов остановить вашу программу (ожидание сигнала, получение данных из сокета, ...). Чтение от stdin
, вероятно, является самым простым способом.
system("pause")
не рекомендуется, потому что он просто вызывает системную функцию Pause
, и в некоторых средах такой функции не может быть.
Или хуже, функция, которая делает что-то ужасное. – chris
Вы используете Visual Studio? если да и его версию, прежде чем 2010 затем CTRL + F5 будет делать трюк
, если его версия после ....
это может помочь
решениеnope, я использую кодовые блоки и терминал unix (Vim) – FJam
, тогда мне жаль ... поскольку мой ответ вообще не применим к вашему вопросу ... это помогло бы включить вашу развивающуюся среду в вопрос, хотя .... – Mamonu
CodeBlocks добавит паузу при запуске из среды IDE в Windows. Я думаю, что вопрос был скорее для исполняемого файла. – chris
Windows, для visual studio compiler только :
fflush(stdin);
getchar()
С каких пор вы можете сбросить stdin? –
@ThomasMatthews Согласно msdn: fflush на входном потоке является расширением стандарта C –
Если вы "Start Without Debugging" Ctrl + F5, после того, как программа выходит из окна консоли, остается открытым, и отображается сообщение Press any key to continue . . .
, пока вы не нажмете какую-либо кнопку. Это лучшее решение, поскольку оно не требует модификации кода, а если вы отлаживаете, вы можете установить точку останова в любом месте.
Работает со всей версией Visual Studio, довольно стандартная вещь.
- 1. Пауза не работает в конце командного файла
- 2. Как написать код vb.net для компиляции C/C++-программ?
- 3. Lua падает при компиляции программ
- 4. ошибка после компиляции в C
- 5. Ошибка при попытке компиляции Pro программ * C в Linux
- 6. Ошибка «Файл не найден» при компиляции c-программ в ubuntu
- 7. Консольная пауза в C++?
- 8. Различные выходы после отладки и компиляции программ на С ++
- 9. Держите @import в конце CSS после компиляции SCSS
- 10. Пауза после анимации
- 11. Команды для компиляции программ на Windows,
- 12. Пауза после цикла в TweenJS
- 13. Предупреждение При попытке компиляции Haskell программ в OS X 10.9
- 14. сократить время компиляции программы C при наличии 30 одновременных программ
- 15. Makefile для компиляции как C, так и программ Java одновременно
- 16. Ошибка компиляции C: ожидаемая декларация или оператор в конце ввода
- 17. аудио пауза в xamarin.forms C#
- 18. Пауза/резюме Загрузка в C#
- 19. C# Пауза/Стоп System.Diagnostics.Process
- 20. C# Пауза Выполнение программы
- 21. C++ Пауза Внешняя программа
- 22. c программ консоли
- 23. C программ застряли в запуске
- 24. Мой код компилируется, выполняется, но сбой программ в конце
- 25. сделать форму пауза после отправки?
- 26. Понимание памяти Схема C программ
- 27. Сохранение данных программ после выхода
- 28. Пауза после обновления пользовательского интерфейса
- 29. Автоматического обновления программ C#
- 30. Где хранятся объектные файлы c программ?
Запустите его с консоли командной строки :) – Ryan
, которая будет работать для меня, но если я дам exe-файл кому-либо, чтобы запустить, я не хочу, чтобы они использовали командную строку. – FJam
Вы можете дать им пакетный файл, который команда 'pause' в конце. Таким образом, вы избегаете использования 'system (" pause ")' в вашем коде, и если кто-то хочет запустить его из командной строки, они могут. – austin