C ++ time.h difftime

时间:2012-10-11 08:40:04

标签: c++ time truncate floor

我在解释我生成的日志中的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个浮点数的结果?

2 个答案:

答案 0 :(得分:2)

您需要使用分辨率更高的计时器(如果您不能使用C ++ 11)。 - Like this。对于您的案例clockid_t - CLOCK_MONOTONIC

答案 1 :(得分:1)

difftime返回类型 http://www.cplusplus.com/reference/clibrary/ctime/difftime/ 以秒为单位的差异   - 有关详细说明,请参阅此处