Вы когда-нибудь хотели заставить программу на C ждать определенное время?
Вы можете настроить технику, позволяющую отсчитывать время, например: при отображении страницы-заставки (уведомления или подсказки) для игры.
Хорошо, вот несколько способов заставить программу "остановиться", читайте дальше …
Шаги
Шаг 1. Заставьте ваш процессор поработать некоторое время без каких-либо заметных событий
Шаг 2. Во время этой задержки не выполняйте никаких других операций, чтобы создать простую временную задержку
Метод 1 из 2: метод "цикла for"
Шаг 1. Используйте типичный цикл for, за которым следует пустой оператор, чтобы реализовать временную задержку
Шаг 2. Напишите, например, следующее:
- для (я = 1; я <100; я ++);
- Заявление, за которым следует ";" заставляет компьютер выполнить цикл 100 раз без каких-либо заметных событий. Это просто создает временную задержку.
Метод 2 из 2: метод "sleep ()"
Шаг 1. Используйте функцию sleep (), объявленную в функции sleep (int ms), которая заставляет программу ждать в течение указанного времени в миллисекундах
Шаг 2. Включите в вашу программу следующую строку перед int main ():
#включают
Шаг 3. Вставьте туда, где вам нужна ваша программа, чтобы сделать задержку:
- сон (1000);
- Измените «1000» на количество миллисекунд, которое вы хотите подождать (например, если вы хотите сделать задержку в 2 секунды, замените ее на «2000».
- Совет: в некоторых системах значение может относиться к секундам, а не к миллисекундам. Так что иногда 1000 - это не одна секунда, а фактически 1000 секунд.
подсказки
- Вышеупомянутая логика может быть реализована с помощью любой циклической структуры, за которой следует пустой оператор - «;», например, с использованием циклов while или do-while.
- Миллисекунда - это 1/1000 секунды.
Предупреждения
- Этот метод обычно бесполезен ни в чем, кроме тривиальной программы. В общем, для этого используйте таймеры или подход, управляемый событиями. В противном случае программа перестанет отвечать в течение времени задержки, а это не всегда хорошо. Кроме того, выбор N в вашем цикле, если это зависит от выполнения инструкции, может дать удивительные результаты. Очевидно, первоначальный автор никогда не слышал об оптимизирующем компиляторе … он может оптимизировать весь цикл, если на самом деле ничего не делает!
- Если вы используете цикл for, компилятор может оптимизировать код и, поскольку цикл ничего не делает, удалить его. Этого не происходит при использовании delay ().
- Обратите внимание, что при использовании метода цикла for вам может потребоваться очень большой диапазон для i, потому что пустой оператор выполняется очень быстро. Такие большие числа могут не поместиться в целочисленный тип.