C ++ time.h difftime

У меня проблемы с переводом difftime количество в журнале я произвел:

Я измеряю длительность для вызова некоторого метода и записываю его с помощью следующего синтаксиса:

time_t end, start ;

time(&start);

obj->sqp_func(this);

time(&end);

t_time = difftime(end, start) ;

sqp << "time " << endl ;
sqp << (double) end <<  endl ;
sqp << (double) start << endl ;
sqp << (double) t_time << endl ;

где sqpимеет ofstream тип.

Я получаю, где t_time (с типом double) должно быть напечатано значение 210.

Это 210 секунд? Это усечено, или напольное?

Как я могу получить результат в секундах до 2 с плавающей точкой, например?

0

Решение

difftime возвращается разница в секундах типа двойной http://www.cplusplus.com/reference/clibrary/ctime/difftime/
— см. это для подробных объяснений

1

Другие решения

Вам нужно использовать таймер с более высоким разрешением (если вы не можете использовать C ++ 11). — Как это. Для вашего случая clockid_t - CLOCK_MONOTONIC,

2

По вопросам рекламы [email protected]