[Klug-general] C problem with delay and erase in Ubuntu terminal & Code::Blocks.

JACKSON MALCOM malcom.jackson at ntlworld.com
Tue Jul 31 20:34:33 UTC 2012


Hello all,
I have just joined KLUG, being very keen on learning about  Ubuntu and
Linux.

I have run up against a problem whilst  working through Ivor Hortons book
Beginning C, 3rd edition, using Terminal and CodeBlocks 10.04, on 11.04
'Natty Narwhal'.
There have been a couple of problems such as getchar and buffering that I
have managed to get solved on line, but now on Page 180 I have hit a brick
wall.

There is a sample program called Simple Simon.

Simple Simon is a memory game that posts a sequence of numbers on the
screen for you to memorise. After 1 second the numbers are erased, and you
have to key in what you remember, and hope that you have remembered
correctly.

I have not been able to get the program working on terminal or through code
blocks, despite several days of trying to find out what is wrong.
A couple of days ago I decided to start from scratch and write my own
version of the program, building up a bit at a time and perhaps find out
why the original program won't work for me.

The problem I have  is with the following piece of code which should give a
1 second delay and then erase the previously printed sequence of numbers.
(This code works OK on XP and Vista):-

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

 int main()
   {
     long now = 0;
     printf("Hello world!");
     now = clock();

     for(;clock() - now<CLOCKS_PER_SEC;  );       /*After 1 second delay
this "*/
         printf("\r");
    /*"code should erase  the string "Hello world!" */
         printf(" ");

return 0;
}

I have tried all sorts of delay methods, but they all end up not doing what
I want to do.
Instead of writing Hello world! on the screen and erasing it after 1
second, the screen comes up and after 1 second Hello world! is printed and
erased at the same instant.
I put a break in before the delay, and can see Hello world! is indeed
printed.

On XP and Vista this program works correctly.

I have checked through the man pages, but don't yet know enough to know if
I have found an answer or not. Nothing I have tried works, so would be
mightily obliged if some one will let me know what to do to get this
working.
Many thanks,
Malcolm Jackson.

-- 
Hello Ubuntu ...... Goodbye  Microsoft.
malcom.jackson at ntlworld.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.lug.org.uk/pipermail/kent/attachments/20120731/967b9c05/attachment.htm>


More information about the Kent mailing list