I want to write a small program that should print something like
testing CPU… done
testing RAM… done
and so on.
I wrote the following program in C:
printf( 'testing RAM...\t\t' ); sleep( sleep_time ); printf( 'done\n\n' ); printf( 'testing HDD...\t\t' ); sleep( sleep_time ); printf( 'done\n\n' );
where sleep_time is 2.
However, instead of printing ‘testing CPU…’ first, then waiting, then printing ‘done’, it first waits, then prints the whole line, which is not exactly what I had in mind.
I suppose this has something to do with automatic optimization by the compiler.
Anyway, what can I do to get the desired output?
I am using XCode 3.1 on OSX 10.5.6
Thank you,
Bastian
The issue is that your printings are buffered. immediately before sleeping, call fflush(stdout); to flush the buffer