在c语言中,sleep()怎么用?

在c语言中,sleep()怎么用?,第1张

sleep()用于代码的阻断延迟运行,其用法步骤如下:

需要准备的材料分别有:电脑、C语言编译器。

1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。

2、在test.cpp文件中,输入C语言代码:Sleep(1000)printf("sleep end.")。

3、编译器运行test.cpp文件,此时成功执行Sleep()函数在1秒后打打印内容。

使用要带上头文件:

#include <windows.h>

Sleep函数:

功 能: 执行挂起一段时间  

用 法: unsigned sleep(unsigned seconds) 

注意:  

1.在VC中使用带上头文件#include <windows.h>,在Linux下,gcc编译器中,使用的头文件因gcc版本的不同而不同#include <unistd.h> 

2.在VC中,Sleep中的第一个英文字符为大写的"S" ,在linux下不要大写,在标准C中是sleep, 不要大写,简单的说VC用Sleep, 别的一律使用sleep。

3.在VC中,Sleep()里面的单位,是以毫秒为单位,所以如果想让函数滞留1秒的话,应该是Sleep(1000)在Linux下,sleep()里面的单位是秒,而不是毫秒。

示例:

#include<stdio.h>

#include <windows.h> 

int main()  

{  

int a=100  

Sleep(3000) 

printf("%d",a)

return 0

} 

usleep函数:

功能: usleep功能把进程挂起一段时间, 单位是微秒us(百万分之一秒)。

语法: void usleep(int micro_seconds)

返回值: 无

注意:这个函数不能工作在 Windows *** 作系统中。

usleep() 与sleep()类似,用于延迟挂起进程。进程被挂起放到reday queue。只是一般情况下,延迟时间数量级是秒的时候,尽可能使用sleep()函数。且此函数已被废除,可使用nanosleep。 

如果延迟时间为几十毫秒,或者更小,尽可能使用usleep()函数。这样才能最佳的利用CPU时间。

delay函数: 

功 能: 将程序的执行暂停一段时间,单位是毫秒ms(千分之一秒)  

用 法: void delay(unsigned milliseconds) 

示例:

#include<dos.h> 

int main(void)  

{  

sound(440) 

delay(500) 

nosound() 

return 0 

}

delay()是循环等待,该进程还在运行,占用处理器。

sleep()不同,它会被挂起,把处理器让给其他的进程。

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)/* VC 使用Sleep*/

printf("好")/*输出“你”和“好”之间会间隔一千毫秒,即间隔一秒,sleep()的单位为毫秒*/

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7967751.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存