У меня есть цикл while, который работает в цикле do while. Мне нужно, чтобы цикл while работал ровно через секунду, а не быстрее, медленнее. но я не уверен, как это сделать. это цикл, выключенный в своей собственной функции. Я слышал о функции sleep(), но я также слышал, что это не очень точно.выход петли задержки в C++
int min5()
{
int second = 00;
int minute = 0;
const int ZERO = 00;
do{
while (second <= 59){
if(minute == 5) break;
second += 1;
if(second == 60) minute += 1;
if(second == 60) second = ZERO;
if(second < 60) cout << "Current Time> "<< minute <<" : "<< second <<" \n";
}
} while (minute <= 5);
}
Большинство ОС не являются операционными системами реального времени. Каждый раз вы не сможете получать ТОЧНО 1 секунду. sleep() - ваш лучший вариант. Он позволяет ОС решать, как наилучшим образом задерживать, как можно ближе к указанному интервалу. –
Какая операционная система? –
Какая точность вам нужна? Сон, скорее всего, будет достаточно хорошим, основываясь на коде, который вы здесь показываете. –