
{
a=time(&nowtime)
while(1)//3秒
{
b=time(&nowtime)
if(b-a==1)break
}
Sleep(1000)//等待一秒
}
//暮光:城中城
这个是会省一点电的。但是里面的单位是毫秒,而不是秒。
关于sleep()函数在windows系统和linux系统下是两个不同的函数,差别较大,但功能是相同的,都是将进程挂起一段时间。windows系统下函数名为Sleep(),其函数原型为:#include <windows.h>函数使用头文件void Sleep(DWORD dwMilliseconds) 参数为毫秒参考代码:#include <windows.h>//win头文件#include<stdio.h>int main(){int iprintf("你")fflush(stdout)//赞制刷新缓存,输出显示for( i=0i<10i++ ){Sleep(1000) /* windows 使用Sleep,参数为毫秒 */printf(".")fflush(stdout)//赞制刷新缓存,输出显示}printf("好\n") /*输出“你”和“好”之间会间隔10秒,并输出10个点*/return 0}linux系统下函数名为sleep(),其函数原型为:#include <unistd.h> 函数使用头文件unsigned int sleep(unsigned int seconds)参数为毫秒 (如果需要更精确可以用usleep,单位为微秒)修改上面的代码,以适应linux系统#include <unistd.h> //1、linux 头文件#include<stdio.h>int main(){int iprintf("你")fflush(stdout)//赞制刷新缓存,输出显示for( i=0i<10i++ ){sleep(1) /*2、linux 使用sleep,参数为秒*/printf(".")fflush(stdout)//赞制刷新缓存,输出显示}printf("好\n")/*输出“你”和“好”之间会间隔10秒,并输出10个点*/return 0}注意: 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()里面的单位是秒,而不是毫秒。========================delay()是循环等待,该进程还在运行,占用处理器。sleep()不同,它会被挂起,把处理器让给其他的进程,所以会省一点电。
#include <windows.h>int main(int argc, char* argv[])
{
printf("Hello World!\n")
Sleep(2000)
printf("----------------\n")
return 0
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)