C语言怎么实现每秒刷新一次后重新输出
printf("%s\n",__TIME__);让它每秒刷新一次后显示新的时间,请问怎么实现啊,谢谢!...
printf ("%s \n",__TIME__);让它每秒刷新一次后显示新的时间,请问怎么实现啊,谢谢!
展开
5个回答
展开全部
由于c语言标准库函数,没有Sleep延时程序,需要自己编写,主要通过循环判断difftime函数返回的时间差来实现延时,具体代码如下,
#include <stdio.h>
#include <time.h>
//延时程序
void sleep(int s)
{
time_t tmp1=time(NULL);
time_t tmp2=tmp1;
while(difftime(tmp2,tmp1)<s)//延时s秒后结束
{
tmp2=time(NULL);
}
}
int main(int argc, char *argv[])
{
int i=1;
while(i)
{
printf ("%d : %s \n",i++,__TIME__);//打印i及程序编译时间
sleep(1);
system("cls"); //清屏
}
return 0;
}
函数double difftime(time_t time2, time_t time1);返回两个time_t型变量之间的时间间隔,即 计算两个时刻之间的时间差。time1计时开始时间,time2计时结束时间,不断更新time2直至(time2-time1)为所需要的延时时间即可。
#include <stdio.h>
#include <time.h>
//延时程序
void sleep(int s)
{
time_t tmp1=time(NULL);
time_t tmp2=tmp1;
while(difftime(tmp2,tmp1)<s)//延时s秒后结束
{
tmp2=time(NULL);
}
}
int main(int argc, char *argv[])
{
int i=1;
while(i)
{
printf ("%d : %s \n",i++,__TIME__);//打印i及程序编译时间
sleep(1);
system("cls"); //清屏
}
return 0;
}
函数double difftime(time_t time2, time_t time1);返回两个time_t型变量之间的时间间隔,即 计算两个时刻之间的时间差。time1计时开始时间,time2计时结束时间,不断更新time2直至(time2-time1)为所需要的延时时间即可。
展开全部
用循环,循环体内容加上
sleep(1000); 这个是休息1000毫秒,也就是1秒
system("cls"); 这个是调用dos命令清屏
下面就是需要打印的东西
sleep(1000); 这个是休息1000毫秒,也就是1秒
system("cls"); 这个是调用dos命令清屏
下面就是需要打印的东西
追答
也许是sleep的时间设的太长,你调整一下sleep里面的数字
估计是sleep不是以毫秒来计算时间的,是一秒来计算时间的
你用sleep(1)试试
#include "stdio.h"
#include "conio.h"
main()
{
int i;
for(i=0;i<100;i++)
{
system("cls");
printf("%d",i); 具体打印内容,在printf这里设计,可以做一个子函数来用
sleep(1);
}
system("pause");
}
我用这个可以0~99一秒显示一个,慢慢变化,呵呵
具体打印内容,在printf这里设计,可以做一个子函数来用
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设置一个定时器,然后定时刷新了
追问
请问怎么设置啊,谢谢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <windows.h>
Sleep(1000);
Sleep(1000);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定时器嘛。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询