1

我试图捕捉一个数字的旋转速度。我有一个程序,计数器从 0 开始。
每次用户单击“加 1”按钮时。它将计数器增加 1。
计数器最大值为 255。在 255 之后,它返回到 0。
现在我想显示从 0 增加到最大值并返回到 0 所需的秒数。完整旋转的时间。用户单击按钮的速度会有所不同。

我需要知道的是如何为此使用计时器?该程序完成只是我需要编码的数字的完整旋转之间的计时器。

我在用着

#include <time.h>    //* clock_t, clock, CLOCKS_PER_SEC

请指教。谢谢你。

int counter;
counter = pkt[0];

cout << endl;

cout << counter << endl;

if(counter == 1)
{
    cout << "revolution" << endl;
}
4

3 回答 3

3

如果您可以使用 C++11,<chrono>可能是一个不错的选择。

它包含:

持续时间

它们测量时间跨度,例如:一分钟、两小时或十毫秒。在这个库中,它们用持续时间类模板的对象来表示,它结合了计数表示和周期精度(例如,十毫秒有十作为计数表示,毫秒作为周期精度)。

时间点

对特定时间点的引用,例如某人的生日、今天的黎明或下一趟火车经过的时间。在这个库中,time_point 类模板的对象通过使用相对于纪元的持续时间(这是使用同一时钟的所有 time_point 对象共有的固定时间点)来表达这一点。

时钟

将时间点与实际物理时间相关联的框架。该库提供了至少三个时钟,它们提供了将当前时间表示为 time_point 的方法:system_clock、steady_clock 和 high_resolution_clock。

于 2013-03-13T09:00:29.267 回答
0

difftime可用于获取两个时间实例之间的差异。difftime页面上的示例代码给出了您正在寻找的内容。

于 2013-03-13T08:59:23.367 回答
0
#include <ctime>
time_t start = time(NULL);

将为您提供自 1970 年 1 月 1 日 00:00 UTC 以来经过的秒数。如果将其放在要跟踪的代码的开头,则只需再次获取时间即可计算执行完整旋转所需的时间。然后得到差异。difftime可以帮助您获得差异。不要将其视为真正运行的计时器。您只是在革命前后获得时间并找到差异。

于 2013-03-13T09:06:05.570 回答