Re: Why is my C++ timer stuck in infinite loop?
From: Ulrich Eckhardt (doomster_at_knuut.de)
Date: 03/29/05
- Next message: Anthony Borla: "Re: Why is my C++ timer stuck in infinite loop?"
- Previous message: wwwolf: "Why is my C++ timer stuck in infinite loop?"
- In reply to: wwwolf: "Why is my C++ timer stuck in infinite loop?"
- Next in thread: Anthony Borla: "Re: Why is my C++ timer stuck in infinite loop?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Tue, 29 Mar 2005 10:37:13 +0200
wwwolf wrote:
> time_t timerStart = ((time (0)) +5); // Add 5 sec to current time
> time_t timerFinish = time (0); // Get current time
>
> for ( ; timerStart >= timerFinish ; ) // Compare the two values loop
> {
> cout << ".";
> time_t timerFinish = time (0);
> }
Look closely: inside the loop's body, you create a local variable called
timerFinish, the same name as (but a distinct object from) the one you
create in the function's body.
BTW, when using for-loops the scheme is
for( init; condition; next)
{...}
so for your case that should be
for( time_t timerFinish = time(0);
timerStart>=timerFinish;
timerFinish=time(0))
or even better
for( /*empty*/;
timerStart>=time(0);
/*empty*/)
That way, you avoid the hassle with a temporary (exactly the one where you
made a mistake).
However, since there is not much left to init or to do on every iteration,
you could replace it with a while() loop:
while( timerStart>=time(0))
Now, there is only one nit left: 'timerStart' is not the starttime or
anything like that, it is the endtime! IOW, your variable is misnamed.
A last thing that might spoil your fun is that std::cout works line-based.
That means it first collects a line before it finally prints it. For
writing the dots, you should tell it to print all stuff after each dot:
std::cout << '.' << std::flush;
happy hacking
Uli
-- FAQ: http://ma.rtij.nl/acllc-c++.FAQ.html
- Next message: Anthony Borla: "Re: Why is my C++ timer stuck in infinite loop?"
- Previous message: wwwolf: "Why is my C++ timer stuck in infinite loop?"
- In reply to: wwwolf: "Why is my C++ timer stuck in infinite loop?"
- Next in thread: Anthony Borla: "Re: Why is my C++ timer stuck in infinite loop?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]