我在看这段代码时想知道:
#include<iostream>
#include<conio.h>
using namespace std;
int main(){
int a,b;
cout << "enter 1";
cin >> a;
cout << "enter 2";
cin >> b;
getch();
return 0;
}
如果我们能够连续得到变量a和b的输入之间的时间差。
答案 0 :(得分:6)
使用time()
获取当前时间,difftime()
计算差异。
#include <iostream>
#include <ctime>
#include <conio.h>
using namespace std;
int main()
{
int a,b;
cout<<"enter 1";
cin>>a;
time_t atime = time(NULL);
cout<<"enter 2";
cin>>b;
time_t btime = time(NULL);
cout << difftime(btime, atime) << " seconds passed\n";
getch();
return 0;
}
答案 1 :(得分:2)
time(),difftime()的分辨率为1秒。
推荐的方法是使用chrono library(c ++ 11)
#include <chrono>
// ...
// take time 0
auto Time0= chrono::system_clock::now();
// do some work ...
// take time 1
auto Time1= chrono::system_clock::now();
// print the diff (in this example: in milliseconds)
auto Duration= chrono::duration_cast<chrono::milliseconds>(Time1 - Time0).count();
cout << Duration << endl;