Was macht Fflush in der C -Programmierung?

Was macht Fflush in der C -Programmierung?
In C -Programmierung die fflush (stdin) Funktion wird verwendet, um den Speicher des Eingabepufferspeichers von Daten zu löschen, die noch gespeichert werden können. Dies geschieht, indem jeder Speicher freigegeben wird, der dem Standardeingangsstrom, der als STDIN bezeichnet wird. Dies bedeutet, dass alle nicht verarbeiteten verbleibenden Daten verworfen werden und alle Daten aus dem letzten erfolgreichen Eingabebergang verwendet werden können.

Nach dem C -Standard verwenden fflush (stdin) ist ein unklares Verhaltensmuster. Bestimmte Compiler wie Microsoft Visual Studio erlauben dies jedoch, dass. Auch wenn eine Ganzzahlnummer mit Leerzeichen akzeptiert und den vorherigen Eingang für denselben diskutiert wird, wird ein Puffer über die nächste Eingabe nicht gereinigt. Dieses Problem wird gelöst, indem der gleiche Strom und der gleiche Puffer mit Spülen mit fflush (stdin).

Schauen wir uns ein Beispiel an:

#enthalten
#enthalten
int main ()

Char S [20];
int i;
für (i = 0; i<3; i++)

printf ("eine String \ n");
scanf ("%[^\ n] s", s);
printf ("%s \ n", s);
fflush (stdin);

Rückkehr 0;

Der obige Code nimmt eine einzelne Eingabe an und ergibt das gleiche Ergebnis. Der Puffer wird dann mit dem gereinigt fflush (stdin) Funktion, und dann wird die nächste Eingabe eingegeben und gedruckt und so weiter.

Ausgang

Was macht fflush (stdin) in der C -Programmierung??

Der fflush (stdin) Die Funktion wird mit Eingabeberationen verwendet, um sicherzustellen, dass die Daten ordnungsgemäß verarbeitet werden und im Eingabepuffer nichts zurückgelassen wird. In der C -Programmierung hinterlassen jeder Eingabebetrieb einige Daten im Eingangspuffer zurück. Diese Daten bleiben dort, bis das Programm es verarbeitet, aber dies kann zu unerwarteten Problemen führen. Wenn beispielsweise ein Programm eine Zahl als Eingabe erwartet, der Benutzer jedoch versehentlich in einem Buchstaben eingibt, werden die im Puffer verbleibenden Daten weiterhin als nächste Eingabe verarbeitet. Dies kann dazu führen, dass das Programm abstürzt oder die Daten falsch analysiert werden.

Verwendung der fflush (stdin) Funktion kann dazu beitragen, dies zu verhindern. Die Funktion löscht den Puffer manuell und somit werden verbleibende Daten daraus entfernt. Ohne diese Funktion würde der Computer die übrig gebliebenen Daten weiterhin als die nächste Eingabe verarbeiten, jetzt kann jedoch jeder Fehler erfasst werden, und das Programm kann gemacht werden.

Abgesehen davon, dass die Eingabepuffer es löschen, die fflush (stdin) Funktion kann auch verwendet werden, um Ausgangsströme zu spülen. Dies ist nützlich für Programme, die eine Echtzeitausgabe erfordern oder den Fortschritt eines Programms anzeigen. Durch das Spülen des Ausgabestreams kann die neueste Ausgabe sofort angezeigt werden. Andernfalls müsste das Programm warten, bis der gesamte Stream voll ist, bevor es angezeigt werden kann.

Abschluss

Der fflush (stdin) Funktion ist ein wesentlicher Bestandteil der C -Programmierung. Durch das Spülen der verbleibenden Daten von Eingabepuffern hilft dies zu verhindern, dass unerwartete Eingaben das Programm abwerfen und Fehler verursachen. Darüber hinaus kann es verwendet werden, um Ausgangsströme zu spülen, die zum Anzeigen von Echtzeitinformationen nützlich sein können. Während es nicht häufig verwendet wird, die fflush (stdin) Funktion ist ein wichtiger Bestandteil des Toolkers eines Programmierers.