C
cdrsir
I tried the following code, which prints some message on the screen for
every minute, but this takes the whole CPU, who can tell me how to
change the code, so that it takes not so much CPU when running the
program. Thanks.
#include "stdio.h"
#include "time.h"
void main()
{
struct tm *local;
int actual_minu;
int last_minu;
time_t t;
//! initialize the actual_minu and last_minu
t = time(NULL);
local = localtime(&t);
actual_minu = local->tm_min;
last_minu = actual_minu;
while ( true )
{
t = time(NULL);
local = localtime(&t);
actual_minu = local->tm_min;
if ( actual_minu-last_minu >= 1 ) {
printf("One minute is gone!!!\n");
last_minu = actual_minu;
}
}
}
every minute, but this takes the whole CPU, who can tell me how to
change the code, so that it takes not so much CPU when running the
program. Thanks.
#include "stdio.h"
#include "time.h"
void main()
{
struct tm *local;
int actual_minu;
int last_minu;
time_t t;
//! initialize the actual_minu and last_minu
t = time(NULL);
local = localtime(&t);
actual_minu = local->tm_min;
last_minu = actual_minu;
while ( true )
{
t = time(NULL);
local = localtime(&t);
actual_minu = local->tm_min;
if ( actual_minu-last_minu >= 1 ) {
printf("One minute is gone!!!\n");
last_minu = actual_minu;
}
}
}