Code Bye

一个关于difftime()的问题….

#include <stdio.h>
#include <time.h>
int main(){
    time_t start,end;
    double duration;
    start = time(NULL);
    text2histogram();
    end = time(NULL);
    printf("\n\nstart :%d\n",start);
    printf("end   :%d\n",end);
    duration = difftime(end,start);
    printf("duration:%f\n",duration);
    return 0;
}

很郁闷,difftime返回的根本不是end 和 start的时间差,它根本就在返回第一个参数!
结果如下:

text2histogram()输出部分略

start :1400770836
end   :1400770840
duration:1400770840.000000

这里duration就是difftime函数返回的结果啊!明明就是第一个参数!Y_Y怎么能这样玩我!

方案推荐指数:40
#include <stdio.h>
#include <time.h>
#include <windows.h>
int main(){
    time_t start,end;
    double duration;
    start = time(NULL);
    Sleep(2500);
    end = time(NULL);
    printf("\n\nstart :%d\n",start);
    printf("end   :%d\n",end);
    duration = difftime(end,start);
    printf("duration:%f\n",duration);
    return 0;
}
//
//
//start :1400815736
//end   :1400815738
//duration:2.000000
//

我这边VC6运行没问题。

楼主重建所有了吗?


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明一个关于difftime()的问题….