clock() 函数始终返回 0
clock() function always returning 0
可能的重复项:
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;
}
但是,无论我花多少时间写下我的名字,经过的时间总是显示为0ms。
你能告诉我问题出在哪里吗?
clock()
返回自程序开始执行以来使用的刻度数。无需(在此特定示例中)获取clock_t begin
值。
尝试打印出begin
值和end
值,看看它们是什么。它们可能都是 0 或接近 0,因为等待用户输入不会占用 CPU 时间。
无论哪种方式,我都推荐time()
函数,因为您不需要即时报价精度。http://www.cplusplus.com/reference/clibrary/ctime/time/
我认为你应该使用 time() 函数。以下是它的工作原理: http://asust.in/007D您只需调用它,它就会返回自 Unix 纪元(1970 年 1 月 1 日)以来的秒数。
clock() 函数返回自程序启动以来的时钟周期数。在这里: http://asust.in/007E
相关文章:
- 为什么将值返回函数传递给重载=运算符对运算符函数有效,而对其他运算符无效
- 编译器警告:执行到达值返回函数的末尾而不返回值
- 接收和返回函数指针的函数指针的类型?
- 我的动态链接队列在同一输出流中调用时不正确地输出三个返回函数
- C++函数链返回函数
- 返回函数指针的函数的签名
- 由于值返回函数中的错误,程序无法编译.它说未声明的标识符
- 非常量引用返回函数在常量值返回函数上用作 r 值
- 如何在 C++ 中从 void 返回函数访问变量
- 返回函数中带有 2 个可选 ctor 的对象
- 如何在 c++ 中返回函数的结构向量
- 返回 C++ 函数中的引用
- 使用向量时,当返回函数更改时,无法看到输出
- 如何在递归中使用返回函数
- 返回函数模板的类型C++作为第二个模板参数
- 为什么静态指针返回函数中有一个"静态"键?
- 递归返回函数,在特殊情况下不返回
- 从类返回函数
- 从类成员函数返回函数指针
- 从返回函数中推断不存在的模板参数