Jak używać funkcji fflush w programowaniu C

Jak używać funkcji fflush w programowaniu C
Funkcja fflush () to skrót „bufora plików spłukiwania”, ponieważ z nazwy wynika, że ​​jej funkcją jest wyczyszczenie niektórych treści. W programowaniu C służy go do wyczyszczenia bufora, aby strumień wyjściowy (stdout) mógł wyświetlić wyjście.

W tym zapisie wyjaśnimy funkcję fflush () w programowaniu C za pomocą przykładów.

Co to jest funkcja fflush () w programowaniu C

Przed zrozumieniem fflush () zrozumiemy, co to jest bufor? Rozważmy przykład; Oglądamy sezon w Netflix, Netflix ciągle buforuje zawartość wideo przez kilka następnych minut, więc nie musisz czekać na załadowanie wideo, to pobieranie jest znane jako buforowanie. W programowaniu C bufor działa w ten sam sposób. Przechowywane wartości w buforze mogą stać się przyczyną nieoczekiwanych wyników.

Aby wyczyścić bufor, używamy funkcji FfLUSH (). Rozważmy przykład:

#włączać
int main ()
fprintf (stdout, „to jest Linuxhint. ");
fprintf (stderr, „To o fflush (). ");
fprintf (stdout, „wyjaśniono to za pomocą programowania C. \N");
powrót 0;

Wpisz kod w pliku tekstowym, TestFile.C, a następnie skompiluj ten plik za pomocą kompilatora, ponieważ używamy Linux, więc skompilujemy plik za pomocą kompilatora GCC:

$ GCC TESTFILE.C -O TestFile

Plik został skompilowany bez żadnych błędów i ostrzeżeń, więc wykonamy powyższy kod

$ ./test testowy

Wyjście powyższego pliku nie jest oczekiwane, „To jest Linuxhint.”Powinny zostać wydrukowane przed„ to o fflush () ”, ale tak się nie stało. Ponieważ „stdout” jest domyślnie buforem, więc będzie przechowywał wartości w buforze tymczasowym, podczas gdy STDDERR nie jest buforowany, więc natychmiast wyświetlał wyjście, a STDout wyświetli dane wyjściowe jego pliku z pamięci bufora albo gdy program programowy końce lub nowy terminator linii („\ n”).

Zgodnie z tym wyjście jest wyświetlane w nieoczekiwanej kolejności, aby wydrukować je w sortowany sposób, użyjemy funkcji ffllush ():

#włączać
int main ()
fprintf (stdout, „to jest Linuxhint. ");
fflush (stdout);
fprintf (stderr, „To o fflush (). ");
fprintf (stdout, „wyjaśniono to za pomocą programowania C. \N");
fflush (stdout);
powrót 0;

Skompiluj plik za pomocą kompilatora GCC:

$ GCC TESTFILE.C -O TestFile

Wykonaj plik za pomocą polecenia:

$ ./test testowy

Teraz wyniki są sortowane, ponieważ fflush () wyczyścił buforowaną pamięć i wyświetlała wyjście.

Wniosek

Funkcja fflush () służy do wyczyszczenia pamięci bufora i wyświetlania wyników OutputStream (stdout). W tym zapisie wyjaśniliśmy funkcję fflush () w programowaniu C za pomocą przykładów. Funkcja fflush () jest zalecana do użycia ze stdout, ponieważ stdout jest domyślnie buforem i zapisuje swoje dane w tymczasowej pamięci bufora.