關於Sleep函數介紹
阿新 • • 發佈:2017-09-24
之間 其中 時間 throw () ron include gcc編譯器 wmi 函數名: Sleep
功 能: 執行掛起一段時間
用 法: void Sleep(DWORD dwMilliseconds);
在VC中使用帶上頭文件
#include <windows.h>
( Sleep函數存放頭文件:WinBase.h)
在gcc編譯器中,使用的頭文件因gcc版本的不同而不同
#include <unistd.h>
Sleep()單位為毫秒,sleep()單位為秒(如果需要更精確可以用usleep單位為微秒)
返回值
若進程/線程掛起到參數所指定的時間則返回0,若有信號中斷則返回剩余秒數。
說明:
在VC中Sleep中的第一個英文字符為大寫的"S"
在標準C中是sleep, 不要大寫.. 下面使用大寫的來說明,, 具體用什麽看你用什麽編譯器. 簡單的說VC用Sleep, 別的一律使用sleep.
Sleep函數的一般形式:
Sleep(unsigned long);
其中,Sleep()裏面的單位,是以毫秒為單位,所以如果想讓函數滯留1秒的話,應該是Sleep(1000);
在Linux下,sleep中的“s”不大寫
sleep()單位為秒,usleep()裏面的單位是微秒。在內核中,sleep的實現是由pause函數和alarm函數兩個實現的。
特別註意在Codeblocks環境下是無法使用sleep函數的 ,因為在windows上Codeblocks采用mingw(Gnu在Window環境下的編譯器,可以充分使用WindowsApi)作為編譯器,而在stdlib.h中sleep的說明如下:_CRTIMP void __cdecl __MINGW_NOTHROW _sleep (unsigned long) __MINGW_ATTRIB_DEPRECATED;可以認為mingw舍棄了sleep函數,建議用Sleep實現sleep。
示例:
#include <windows.h> #include<stdio.h> int main() { int a; a=1000; printf("你"); Sleep(a);/* 我個人用CODE BLOCKS 使用Sleep*/ printf("好"); /*輸出“你”和“好”之間會間隔一千毫秒,即間隔一秒,Sleep()的單位為毫秒*/ return 0; }
關於Sleep函數介紹