Вопрос

I need to create a struct where is set a date. I googled something and i found the tm structure from the library time.h, but I'm having some troubles; I need to print some dates on a log file, here an example:

typedef struct tm* tm_;

...

void NEW_Job()
{
    time_t t;
    tm_ secs;
    t=time(NULL);
    secs=localtime(&t);
    add_QUEUEnode(generate_job());
    fprintf(f, "\n%d:%d.%d : New job created.", secs->tm_hour, secs->tm_min, secs->tm_sec);
}

I really don't know where i'm wrong.

Thanks in advance for the help :)

Это было полезно?

Решение

The exact error wasn't there, but in another line of the code, exactly here:

void PCunload(int b)
{
    time_t t;
    tm_ secs;
    int hh, mm, ss;
    hh=(time(NULL)-n[b].start_time)/3600;
    mm=((time(NULL)-n[b].start_time)%3600)/60;
    ss=((time(NULL)-n[b].start_time)%3600)%60;
    t=time(NULL);
    secs=localtime(&t);
    n[b].job.priority=-1;
    -->>fprintf(f, "\n%d:%d.%d : PC number %d unloaded; elapsed time: %d:%d.%d", secs->tm_hour, secs->tm_min, secs->tm_sec, hh, mm, ss);
} 

There I tried to do the conversion inside the printf functions, but something goes wrong... My apologies!

Другие советы

strftime() can help you printing date and time at your favorite format. Please take a look at man strftime.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top