c语言怎么刷新输出时间
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言怎么刷新输出时间相关的知识,希望对你有一定的参考价值。
由于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)为所需要的延时时间即可。 参考技术A 我是这么认为的!可以用time函数来获取当前系统时间然后清屏,然后输出这样就可以实现“刷新” 参考技术B 每隔1秒在输出一次,看上去是动的,其实是不动的 参考技术C 示例:
从1到1000,每隔1秒输出一次结果
代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#define DELAY_TIME 1000 // 默认延迟1s
int main()
int curPos = 0;
while (curPos <= 1000)
Sleep(DELAY_TIME);
curPos++;
system("cls"); // 清除上次输出结果
printf("%04d\n", curPos); // 输出当前值
return 0;
以上是关于c语言怎么刷新输出时间的主要内容,如果未能解决你的问题,请参考以下文章