可能重复:
Cclock()函数只返回零
我运行以下代码来测试clock()函数的工作情况.我在ubuntu 12.04上工作.
#include <stdio.h>
#include <time.h>
#include <iostream>
using namespace std;
double diffclock(clock_t clock1,clock_t clock2)
{
double diffticks=clock1-clock2;
double diffms=(diffticks*10)/CLOCKS_PER_SEC;
return diffms;
}
int main()
{
string name;
int i;
clock_t begin=clock();
cout << "Hi what is your name? ";
getline(cin, name);
clock_t end=clock();
cout << "Time elapsed: " << double(diffclock(end,begin)) << " ms"<< endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但无论我花多少时间写下我的名字,经过的时间总是显示为0ms.
你能告诉我这是什么问题吗?
小智 6
clock()返回自程序启动执行以来已使用的刻度数.没有(在此特定的)示例中获取clock_t begin值.
尝试打印出begin和end值,看看它们是什么.由于等待用户输入不使用CPU时间,它们可能都是0或接近0.
无论哪种方式,我推荐该time()功能,因为您不需要刻度精度.
http://www.cplusplus.com/reference/clibrary/ctime/time/
| 归档时间: |
|
| 查看次数: |
9421 次 |
| 最近记录: |