Moin!
Hallo,
Kannst Du denn
char string[21];
scanf("%20s",&string);
/* oder */
scanf("%20c",&string);string[20]='\0';
> >
> > austricksen?
>
> Nein,aber ich dachte, ich hätte das Tastaturbufferproblem umgangen, was aber doch nicht der Fall war.
> Es muss doch irgendwie gehen, den Tastaturbuffer zu deaktivieren?
Du willst deine Zeichen eins zu eins direkt von der Tastatur lesen? – Da wirst du wohl auf andere Methoden zurückgreifen müssen, denn die Funktionen der C-Bibliothek bekommen ohne besondere Vorkehrungen die Eingabe von stdin erst dann, wenn du Enter/Return betätigt hast, da das Zeichen `'\n'`{:.language-c} gleichzeitig einen Flush des Eingabepuffers bewirkt.
Falls du unter einem Unix(-kompatiblen) System arbeitest, empfehle ich dir für den gewünschten Zweck die readline-Bibliothek, unter Windows gibt es den Header io.h, der solche Funktionen wie readkey zur Verfügung stellen sollte.
Viele Grüße,
Robert