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ć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ć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.