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语言怎么刷新输出时间的主要内容,如果未能解决你的问题,请参考以下文章

用c语言程序实现在屏幕上输出:very good!并且外面一圈*共24个

C语言怎么输出“双引号”?

c语言输出数据对齐不了怎么弄

c语言怎么让文字右对齐

c语言怎么出表格

C语言的输出怎么实现右对齐?