我正在运行一个while循环,几秒钟后结束。
我想在几秒钟内打印出,该循环还剩多少时间。
我的代码:
time_t end = time(NULL) + seconds;
while (time(NULL) < end) {
//print time in seconds
}
我该怎么做?谢谢。
答案 0 :(得分:0)
您需要一个简单的计算,例如end-time(NULL)
。但是,当您要在while循环中打印时,您会看到许多重复的相同数字,例如:(10,10,10,10,10,9,9,9,9,9,8, 8,8,8,.......)。为防止这种情况,您应在每个循环中检查重复的数字,并禁止再次打印该数字。您可以这样操作;
#include<stdio.h>
#include<string.h>
#include<time.h>
int main(void){
int seconds = 10;
int checker = -1;
time_t end = time(NULL) + seconds;
while (time(NULL) < end) {
if( end-time(NULL) != checker)
printf("Time Left: %d\n", end-time(NULL));
checker = end-time(NULL);
}
}