Запустить программу на 3 секунды - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь запустить небольшой фрагмент кода в течение 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");
}

Но это не работает, программа застряла в цикле печати «Эй».

Ответы [ 2 ]

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

Короткая версия:

time_t endwait = time(NULL) + secs;

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

Или даже:

for(time_t start = time(NULL);time(NULL)-start < secs;) printf("Hey");
0 голосов
/ 11 декабря 2018

Вам необходимо получить текущее время в цикле while.Итак, принимая ваш код, он должен выглядеть примерно так:

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

while(actual < endwait){
  printf("Hey");
  actual = time(NULL);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...