如何在c ++代码块中使用计时器

时间:2013-05-08 16:19:16

标签: c++ codeblocks

K,大家好我想尝试制作这样的东西:“在电脑屏幕上写一条消息,显示课程前剩余的时间 结束:如果在课程结束时有超过30分钟的时间打印报告的东西......“,所以我尝试了:

#include <iostream>
#include <cstdio>
#include <ctime>

using namespace std;
int main() {
    int startTime = 1, endTime;

    endTime = 30 * 3600;

    clock_t start = clock();


    cout<<"Time: "<< start <<'\n';

    if (start >= 7200)
    {
        // do something
    } else if (start == endTime)
    {
        // do something
    }
}

我希望它显示时间,如果时间==数字,然后做一些事情。 试过睡觉();但由于某种原因,我在codeBlock中遇到错误。

2 个答案:

答案 0 :(得分:2)

我得知“在这个范围内没有宣布睡眠。”尝试包含有它的库...

如果您使用的是Unix,#include <unistd.h>

如果是Windows #include <windows.h>,请改用Sleep()

答案 1 :(得分:0)

有很多方法可以做到这一点。这是其中的两个:

使用增强计时器库这是更好的方法:
http://www.boost.org/doc/libs/1_53_0/libs/timer/doc/original_timer.html

或者开始一个帖子

static const int INTERVAL_SEC = 60;
static void* thread_timer_process(void*)
{
    do 
    {
        // Do something;

        sleep(INTERVAL_SEC);

        // don't forget to put a cancel point in here

    } while(true);  
}

int main()
{
    pthread_t thread_id;
    thread_create(&thread_id, null, thread_timer_process,  NULL);

    // Other things

    pthread_cancel(thread_id);   // interrupt thread running.

    void *result = NULL;        
    pthread_join(thread_id, &result);  // wait for thread ending.
}