2010-07-31 87 views

回答

61

用途:

#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"); 
} 
+4

回答者太匿名了,或者他會贏得一些好的代表... – 2013-09-27 20:30:51

+8

「查看42374次」 - 顯然很多人在那裏也有這個問題(我應該怎麼知道爲我的谷歌前綴「msdn」搜索當時我主要是在做一些Linux/POSIX編程嗎?) – mozzbozz 2014-10-08 17:26:53

1

MSDN:標題:WINBASE.H(包括WINDOWS.H)

+1

當我包括窗口。 h我的編譯器給出了「錯誤:參數名稱省略」和「錯誤:預期表達式之前','令牌' – RYN 2010-07-31 17:40:53

+0

@Snigger發佈一個簡短的例子來說明這一點,並告訴我們你正在使用的編譯器。 – 2010-07-31 17:42:37

+0

#include void writeData(result * res,char * OUT) } int main(){ \t return 1; \t } 在'*'標記之前給出了'error'expected')'並且我正在使用GCC(mingw) – RYN 2010-07-31 17:48:16

6

包括在你的代碼的開始下面的函數,只要你想強制執行,而無需把CPU的額外負擔(在for環的情況下)暫停

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

1.這不回答海報的問題 2.這是錯誤的,因爲它仍然是一個繁忙的循環(有或沒有'for'循環)。 – 2015-01-07 13:30:23

+0

投票。我在Windows C中尋找一些睡眠功能,除了睡眠()。這工作正常。謝謝。 – rashok 2015-03-20 16:35:54

+6

這不是睡眠,這是「忙於緊密的循環」,無論如何都會給CPU帶來額外的負擔。睡眠釋放CPU做其他事情。 – Bacco 2016-12-08 18:53:33