Как сделать паузу в C?
Я новичок C. я запускаю программу C, но окно закрывается слишком быстро, прежде чем я могу что-либо увидеть. Как я могу приостановить окно?
10 ответов
вы можете поставить
getchar();
перед возвратом из функции main. Это будет ждать ввода символов перед выходом из программы.
в качестве альтернативы вы можете запустить свою программу из командной строки, и вывод будет виден.
Если вы хотите просто задержка закрытие окна без фактического нажатия кнопки (getchar()
способ), вы можете просто использовать sleep()
метод; он принимает количество секунд вы хотите спать в качестве аргумента.
#include <unistd.h>
// your code here
sleep(3); // sleep for 3 seconds
ссылки: sleep() руководство
это консольная программа, работающая в Windows? Если это так, запустите его с консоли, которую вы уже открыли. т. е. запустите "cmd", затем перейдите в свой каталог, который имеет.exe в нем (с помощью команды cd), затем введите имя exe-файла. Окно консоли останется открытым.
в системах POSIX лучшее решение, похоже, использует:
#include <unistd.h>
pause ();
если процесс получает сигнал, эффект которого заключается в его завершении (обычно путем ввода Ctrl+C в терминале), то pause
не возвратит и процесс эффектно будет прекращен этим сигналом. Более продвинутое использование-использовать функцию улавливания сигналов, вызываемую при получении соответствующего сигнала, после чего pause
возвращает возобновление процесс.
Примечание: использование getchar()
не будет работать стандартный ввод перенаправляется; следовательно, это более общее решение.
Я предполагаю, что вы находитесь в Windows. Вместо того, чтобы пытаться запустить программу, дважды щелкнув по ее значку или нажав кнопку в IDE, откройте командную строку, компакт-диск в каталог, в котором находится ваша программа, и запустите ее, введя ее имя в командной строке.
getch()
также может использоваться, который определен в conio.h.
пример программы будет выглядеть следующим образом:
#include <stdio.h>
#include <conio.h>
int main()
{
//your code
getch();
return 0;
}
getch()
ждет ввода символов с клавиатуры (не обязательно вводить ключ).
хорошая работа я вспомнил о пакетных файлах DOS. Вообще не нужен Getchar (). Просто написать пакетный файл, чтобы изменить каталог (CD) в папку, где находится программа. введите имя программы exe и в следующей строке введите pause. пример:
cd\
wallpaper_calculator.исполняемый пауза
для Linux; getchar() все, что вам нужно.
Если вы находитесь на Windows, проверьте следующее, Это именно то, что вам нужно!
функция kbit ()
- функция kbhit () используется для определения, была ли нажата клавиша или нет.
- Чтобы использовать kbhit () в C или C++ prorams, вы должны включить файл заголовка "conio.ч."
например, посмотрите, как это работает в следующем программа;
//any_key.c
#include <stdio.h>
#include <conio.h>
int main(){
//code here
printf ("Press any key to continue . . .\n");
while (1) if (kbhit()) break;
//code here
return 0;
}
когда я компилирую и запускаю программу,этой что я вижу.
только когда пользователь нажимает только одну клавишу с клавиатуры,kbhit() возвращает 1.