Hallo,

wie kann ich den Tastaturpuffer leeren? Ich habe in meinem Programm eine Fehlerprüfung auf falsche Eingaben. Leider funktioniert die Abfrage nicht, da sich nach der ersten fehlerhaften Eingabe das Programm in eine Endlosschleife begibt. Und zwar deswegen, weil der Tastaturpuffer immernoch gefüllt ist und die Abfrage somit immer == 0 ist (fehlerhafte Eingabe).

Ich habe es schon mit tcflush(fileno(stdin), TCIFLUSH) probiert. Leider ohne Erfolg.

Was kann ich noch probieren?

Hier mal noch meine Eingabe Funktion:

Code:
float eingabe()
{
	float input;
	input=0.0;
	
	while( scanf("%f",&input) == 0 )
	{
		printf("Falsche Eingabe!\nBitte um erneute Eingabe: ");
		tcflush( fileno(stdin), TCIFLUSH );
	}
		
	return input;
}
Ich hoffe ihr könnt mir da ein paar Tipps auf den Weg geben.