Как сделать паузу в C?

Я начинаю C. Я запускаю программу C, но окно закрывается слишком быстро, прежде чем я что-нибудь увижу. Как приостановить окно?

Ответы

Ответ 1

вы можете поместить

getchar();

перед возвратом от основной функции. Это будет ждать ввода символов перед выходом из программы.

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

Ответ 2

Если вы хотите просто задержать закрытие окна без фактического нажатия кнопки (метод getchar()), вы можете просто использовать метод sleep(); он принимает количество секунд, которое вы хотите спать в качестве аргумента.

#include <unistd.h>
// your code here
sleep(3); // sleep for 3 seconds

Литература: сон() вручную

Ответ 3

Это консольная программа, работающая в Windows? Если это так, запустите его с консоли, которую вы уже открыли. например, запустите "cmd", затем перейдите в каталог, в котором есть .exe(с помощью команды cd), затем введите имя exe. Окно консоли останется открытым.

Ответ 4

Если вы создаете оконную программу консоли, вы можете использовать систему ( "пауза" );

Ответ 5

В системах POSIX лучшее решение, по-видимому, использует:

#include <unistd.h>

pause ();

Если процесс получает сигнал, действие которого заключается в его завершении (обычно, набрав Ctrl + C в терминале), тогда pause не вернется и процесс будет эффективно завершен этим сигналом. Более сложное использование заключается в использовании функции захвата сигнала, вызываемой при получении соответствующего сигнала, после чего возвращается pause, возобновление процесса.

Примечание: использование getchar() не будет работать, будет перенаправлен стандартный ввод; следовательно, это более общее решение.

Ответ 6

Я предполагаю, что вы находитесь в Windows. Вместо того, чтобы пытаться запустить вашу программу, дважды щелкнув по ее значку или нажав кнопку в своей среде IDE, откройте командную строку cd в каталоге, в котором находится ваша программа, и запустите его, введя его имя в командной строке.

Ответ 7

getch() также может использоваться, который определен в conio.h.

Пример программы будет выглядеть так:

#include <stdio.h>
#include <conio.h>

int main()
{
    //your code 
    getch();
    return 0; 
} 

getch() ожидает ввода любого символа с клавиатуры (необязательно введите ключ).

Ответ 8

Вы также можете просто использовать system("pause");

Ответ 9

Хорошая работа, о которой я вспомнил о пакетных файлах DOS. Не нужно Getchar() вообще. Просто напишите командный файл, чтобы сменить каталог (cd) в папку, в которой находится программа. введите имя программы exe и паузу следующей строки. Пример:

cd\

wallpaper_calculator.exe пауза

Ответ 10

Для Linux; getchar() - это все, что вам нужно.

Если вы находитесь в Windows, проверьте следующее: это именно то, что вам нужно!

Функция kbit()

Функция
  • kbhit() используется для определения того, нажата ли клавиша или нет.
  • Чтобы использовать kbhit() в прорамах C или С++, вы должны включить заголовочный файл "conio.h".

Например, посмотрите, как он работает в следующей программе:

//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.