Puh-Bert
12-05-2002, 23:36
Hi
Ich hab da ein kleines Problem. Der Code sieht so aus:
struct dsatz *neu;
if ( ( neu = (struct dsatz*) malloc (sizeof (struct dsatz) ) ) == NULL)
exit (1);
puts ("Name:");
fgets ( neu->name , 19 , stdin );
puts ("Adresse:");
fgets ( neu->adresse , 19 , stdin );
Die Struktur dsatz besteht aus name[20] adresse [20] und dem Zeiger
struct dsatz *next.
Das Problem ist, dass beim Ausführen des Codes das erste fgets nicht ausgeführt wird,
die beiden puts und das zweite fgets allerdings schon. Ich habs mal durch den Debugger geschickt, das hat mich aber auch nicht weitergebracht. Was ich auch schon versucht hab, ist mit fflush ( stdin ) die Standardeingabe vorher zu leeren. Hat nix genützt.
Wer hat eine Idee?
Puh-Bert
Ich hab da ein kleines Problem. Der Code sieht so aus:
struct dsatz *neu;
if ( ( neu = (struct dsatz*) malloc (sizeof (struct dsatz) ) ) == NULL)
exit (1);
puts ("Name:");
fgets ( neu->name , 19 , stdin );
puts ("Adresse:");
fgets ( neu->adresse , 19 , stdin );
Die Struktur dsatz besteht aus name[20] adresse [20] und dem Zeiger
struct dsatz *next.
Das Problem ist, dass beim Ausführen des Codes das erste fgets nicht ausgeführt wird,
die beiden puts und das zweite fgets allerdings schon. Ich habs mal durch den Debugger geschickt, das hat mich aber auch nicht weitergebracht. Was ich auch schon versucht hab, ist mit fflush ( stdin ) die Standardeingabe vorher zu leeren. Hat nix genützt.
Wer hat eine Idee?
Puh-Bert