Функция сна в Windows, используя C - PullRequest
31 голосов
/ 31 июля 2010

Мне нужно перевести мою программу в Windows.Какой заголовочный файл имеет функцию сна?

Ответы [ 4 ]

78 голосов
/ 31 июля 2010

Использование:

#include <windows.h>

Sleep(sometime_in_millisecs); // Note uppercase S

И вот небольшой пример, который компилируется с MinGW и делает то, что говорит на банке:

#include <windows.h>
#include <stdio.h>

int main() {
    printf( "starting to sleep...\n" );
    Sleep(3000); // Sleep three seconds
    printf("sleep ended\n");
}
7 голосов
/ 31 июля 2010
Функция

SleepEx (см. http://msdn.microsoft.com/en-us/library/ms686307.aspx) - лучший выбор, если ваша программа прямо или косвенно создает окна (например, использует некоторые COM-объекты). В простых случаях вы также можете использовать Sleep.

1 голос
/ 31 января 2014

Включите следующую функцию в начале вашего кода, когда вы хотите, чтобы ожидание занято. Это отличается от режима сна, поскольку во время работы этой функции процесс будет использовать 100% ЦП.

void sleep(unsigned int mseconds)
{
    clock_t goal = mseconds + clock();
    while (goal > clock())
        ;
}

Обратите внимание, что название sleep для этой функции вводит в заблуждение, поскольку процессор вообще не будет спать.

1 голос
/ 31 июля 2010

MSDN : Заголовок: Winbase.h (включая Windows.h)

...