From: Dill, J. <joh...@ui...> - 2004-05-18 22:00:45
|
I am running into a problem with this example code in that when I try to = run it, I get no output or prompt for input when running it from the = MSYS command line. Can someone explain what the problem is? I find = that if I run it in gdb, I can see the output and put in input fine, but = not from the command line itself, possibly from the fact that gdb opens = up another window? Thanks. John Example Code: #include <stdio.h> #include <malloc.h> #include <string.h> typedef struct alarm_tag { int seconds; char message[64]; } my_alarm_t; int main ( int argc, char *argv[] ) { char line[128]; my_alarm_t* alarm; while (1) { printf ("Alarm> "); if ( fgets ( line, sizeof (line), stdin ) =3D=3D 0 ) exit (0); if ( strlen (line) <=3D 1 ) continue; alarm =3D (my_alarm_t*)malloc (sizeof(my_alarm_t)); if ( sscanf ( line, "%d %64[^\n]", &alarm->seconds, alarm->message ) = < 2 ) { fprintf (stderr, "Bad Command\n"); free (alarm); } else { printf ("(%d) %s\n", alarm->seconds, alarm->message); free (alarm); } } } |