Я пытаюсь создать функцию таймера, которая печатает таймер на 2 минуты (в форме M: S), который тикает сам по себе. У меня есть следующий код:
void startTimer(){
srand(time(0));
clock_t start_t, end_t;
clock_t start = clock();
clock_t end = clock();
float seconds = (float)(end - start) / CLOCKS_PER_SEC;
printf("%d", start, seconds);
}
Код, который вы имеете, может измерить время, необходимое для выполнения фрагмента кода. Здесь вам нужно только:
и сделать это в цикле.
#include <iostream>
#include <unistd.h>int main(){
for (int i = 120; i >=0; i--){
std::cout << std::to_string(i/60) <<":" << std::to_string(i%60) <<std::endl;
sleep(1);
}
return 0;
}
Я не очень понимаю ваш код.
Если вам нужен 2-минутный таймер, возможно, вы можете использовать цикл от 120 до 0 с printf (минут = индекс / 60 и секунд = индекс% 60) и 1-секундным сном внутри цикла. Это заблокирует нить цикла. Это проблема?
Если да, возможно, вы захотите взглянуть на другие решения, такие как перемещение цикла внутри другого потока.