该程序返回以秒为单位的时间。我需要在微秒内返回它。
time_t timeStart = time(0);
usleep(2.5e6);
time_t timeEnd = time(0);
float R = (timeEnd - timeStart);
std::cout << R << std::endl;
最佳答案
如果您正在寻找更高分辨率,可以使用std::chrono::high_resolution_clock
从 C++11 开始。
#include <chrono>
using namespace std::chrono;
high_resolution_clock::time_point t1 = high_resolution_clock::now();
/* some extensive action... */
usleep(2.5e6);
high_resolution_clock::time_point t2 = high_resolution_clock::now();
duration<double> time_span = duration_cast<duration<double>>(t2 - t1);
std::cout << "It took me " << time_span.count() << " seconds.";
std::cout << std::endl;
输出类似
It took me 0.091001 seconds.
示例来自 http://www.cplusplus.com/reference/chrono/high_resolution_clock/now/
关于c++ - C/C++ time_t(以微秒为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30848984/