Chars einlesen
-
Hey,
ich möchte einfach ein paar chars nacheinander einlesen.
Nach dem ersten eingelesenen char wird jetzt allerdings "Char einlesen" zweimal ausgegeben.int exit; while(exit < 5 ){ printf("Char einlesen"); scanf("%c", &arg); printf("\n"); exit++; }
Gruß
-
scanf scheint nicht alle Zeichen aus dem Buffer zu lesen, vllt. hängt da noch ein '\n' dran.
Ließ einen String der groß genug ist ein und greife auf das erste Zeichen zu.
Oder lies ein char und leere danach den Inputbuffer durch weiteres scanf bis nichts mehr drinn steht.Stütz dich auch lieber nicht auf fflush(stdin).
-
getchar()
Henry_DD schrieb:
Nach dem ersten eingelesenen char wird jetzt allerdings "Char einlesen" zweimal ausgegeben.
Und was genau wundert dich daran? Du hasts doch genau so programmiert!?
-
dot schrieb:
Und was genau wundert dich daran? Du hasts doch genau so programmiert!?
Also dich möchte ich nicht als Arbeitskollegen haben
-
Um das nächste Problem gleich abzufangen:
int exit;
muss da
int exit = 0;
heißen, sonst hat exit einen unspezifizierten Wert und deine Schleife läuft wer-weiß-wie-lang.
-
@seldon: Ich glaub das Beispiel ist ein wenig fix geschrieben worden. "arg" wurde ja auch nicht deklariert.