Выведите сколько времени осталось до конца цикла в секундах - PullRequest
0 голосов
/ 09 декабря 2018

Я выполняю цикл while, который заканчивается через несколько секунд.

И я хотел бы вывести в секундах, сколько времени осталось до завершения цикла.

Мой код:

time_t end = time(NULL) + seconds;

while (time(NULL) < end) {
     //print time in seconds
}

Как я могу это сделать?спасибо.

1 Ответ

0 голосов
/ 09 декабря 2018

Вам нужен простой расчет, такой как 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);
}

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...