Ответ 1
вы можете поместить
getchar();
перед возвратом от основной функции. Это будет ждать ввода символов перед выходом из программы.
В качестве альтернативы вы можете запустить свою программу из командной строки, и вывод будет видимым.
Я начинаю C. Я запускаю программу C, но окно закрывается слишком быстро, прежде чем я что-нибудь увижу. Как приостановить окно?
вы можете поместить
getchar();
перед возвратом от основной функции. Это будет ждать ввода символов перед выходом из программы.
В качестве альтернативы вы можете запустить свою программу из командной строки, и вывод будет видимым.
Если вы хотите просто задержать закрытие окна без фактического нажатия кнопки (метод getchar()
), вы можете просто использовать метод sleep()
; он принимает количество секунд, которое вы хотите спать в качестве аргумента.
#include <unistd.h>
// your code here
sleep(3); // sleep for 3 seconds
Литература: сон() вручную
Это консольная программа, работающая в Windows? Если это так, запустите его с консоли, которую вы уже открыли. например, запустите "cmd", затем перейдите в каталог, в котором есть .exe(с помощью команды cd), затем введите имя exe. Окно консоли останется открытым.
Если вы создаете оконную программу консоли, вы можете использовать систему ( "пауза" );
В системах POSIX лучшее решение, по-видимому, использует:
#include <unistd.h>
pause ();
Если процесс получает сигнал, действие которого заключается в его завершении (обычно, набрав Ctrl + C в терминале), тогда pause
не вернется и процесс будет эффективно завершен этим сигналом. Более сложное использование заключается в использовании функции захвата сигнала, вызываемой при получении соответствующего сигнала, после чего возвращается pause
, возобновление процесса.
Примечание: использование getchar()
не будет работать, будет перенаправлен стандартный ввод; следовательно, это более общее решение.
Я предполагаю, что вы находитесь в Windows. Вместо того, чтобы пытаться запустить вашу программу, дважды щелкнув по ее значку или нажав кнопку в своей среде IDE, откройте командную строку cd в каталоге, в котором находится ваша программа, и запустите его, введя его имя в командной строке.
getch()
также может использоваться, который определен в conio.h.
Пример программы будет выглядеть так:
#include <stdio.h>
#include <conio.h>
int main()
{
//your code
getch();
return 0;
}
getch()
ожидает ввода любого символа с клавиатуры (необязательно введите ключ).
Вы также можете просто использовать system("pause");
Хорошая работа, о которой я вспомнил о пакетных файлах DOS. Не нужно Getchar() вообще. Просто напишите командный файл, чтобы сменить каталог (cd) в папку, в которой находится программа. введите имя программы exe и паузу следующей строки. Пример:
cd\
wallpaper_calculator.exe пауза
Для Linux; getchar() - это все, что вам нужно.
Если вы находитесь в Windows, проверьте следующее: это именно то, что вам нужно!
ФункцияФункция kbit()
Например, посмотрите, как он работает в следующей программе:
//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.