PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probl. mit dem Einlesen von Benutzereingaben



19-08-2000, 09:45
hi (schon wieder) http://www.linuxforen.de/ubb/rolleyes.gif

ich schreibe gerade ein kleines programm zu testzwecken, das zwei strings vom benutzer einlesen soll, dazu habe ich eine eigene funktion definiert:

void strings_einlesen(char *string1, char *string2)
{
/* Anmerkung: string1 und string2 sind zwei globale arrays */

printf("String Nummer 1 eingeben\n> ");
fgets(string1; 100; stdin);
printf("String Nummer 2 eingeben\n> ");
fgets(string2; 100; stdin);
}

beim ersten einlesen klappt es wunderbar, jedoch wenn ich die angaben ein zweites mal einlesen will, also neu belegen, indem ich die funktion ein zweites mal aufrufe, wartet das programm die eingabe für string1 nicht ab (es sieht aus, als würde automatisch (?????) was im string abgelegt), sondern druckt nur die eingabeaufforderung für string1, danach gleich die für string2 ... aber da kann man dann was eingeben http://www.linuxforen.de/ubb/eek.gif

ich hab' echt schon alles versucht: die strings vor der eingabe mit strcpy(string1, "") zu löschen, den wert von string1 auszugeben (da scheint keiner drin zu sein) und so weiter ... WIE KANN DAS SEIN?

21-08-2000, 08:17
hi, hier nur ein paar Anmerkungen, hatte sowas auch schon.

Es könnte noch etwas im Tastaturbuffer "übrig sein" (oder inzwischen "eingeschlichen" haben - was macht der Rest des Programmes?). Was zeigt die Ausgabe von string1 beim 2. Lauf?

Gruss IceDragon

21-08-2000, 16:53
ja,

das hab' ich dann auch durch schreiben, kompilieren, schreiben, kompilieren, schreiben ... herausgefunden (oder sagen wir: geahnt). deshalb hab' ich auch ein anderes posting mit genau dieser frage geschrieben ...

aber trotzdem vielen dank für deine hilfe http://www.linuxforen.de/ubb/wink.gif