質問

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