运行程序3秒钟

时间:2018-12-11 20:24:54

标签: c linux time

我正在尝试运行一小段代码3秒钟: 示例:

WHILE(3 SECONDS){
  printf("Hey");
}

我尝试使用time_t,需要一段时间才能达到极限,就像这样:

time_t endwait;
time_t atual = (unsigned int)time(NULL);
time_t duration = secs;

while(atual < endwait){
  printf("Hey");
}

但是它不起作用,程序陷入了循环打印“嘿”。

3 个答案:

答案 0 :(得分:3)

您需要在while循环中检索当前时间。因此,以您的代码为例,它应该像这样:

time_t actual = time(NULL);
time_t duration = secs;
time_t endwait = actual + duration ;

while(actual < endwait){
  printf("Hey");
  actual = time(NULL);
}

答案 1 :(得分:3)

简短版本:

time_t endwait = time(NULL) + secs;

while(time(NULL) < endwait){
  printf("Hey");
}

甚至:

for(time_t start = time(NULL);time(NULL)-start < secs;) printf("Hey");

答案 2 :(得分:0)

为什么不做类似的事情:

time_t start = time(NULL);
time_t since = time(NULL) - start;
time_t duration = 3;

while(since < duration) {
  printf("Hey");
  since = time(NULL) - start;
}