c++求系统时间差 怎么结果得0呢?怎么错了?

来源:百度知道 编辑:UC知道 时间:2024/05/28 05:32:32
#include<stdio.h>
#include<iostream.h>
#include <time.h>
void main()
{
time_t start;
time_t end;
time(&start);//与下面有一段时间
time(&end);
difftime(start,end);
cout<<"second:"<<difftime(start,end)<<endl;

}

楼上的,你的程序运行的时候从start 到end几乎不用时间,至少无法用整数计算那么少的时间.所以依然输出0;
所以我改了一下如下:
#include<iostream.h>
#include <time.h>
#include<dos.h>
int main()
{
time_t start;
time_t end;
start=time(NULL);
cout<<start<<endl;
sleep(2);/*等待2秒 sleep函数在dos.h中*/
end=time(NULL);
cout<<end<<endl;

cout<<"second:"<<difftime(end,start)<<endl;
return 0;

}

取时间应该是
start=time(NULL);
end=time(NULL);

计算时间差应该是difftime(end,start)

修改后:
#include<stdio.h>
#include<iostream.h>
#include <time.h>
void main()
{
time_t start;
time_t end;
start=time(NULL);
cout<<start<<endl;
//此处添加欲计时的操作 (2008.10.13 19:37补充,由 窗前过马 提醒)
end=time(NULL);
cout<<end<<endl;

cout<<"second:"<<difftime(end,start)<<endl