Come utilizzare la funzione fflush nella programmazione C

Come utilizzare la funzione fflush nella programmazione C
La funzione fflush () è l'abbreviazione del "tampone file a filo", in quanto è chiaro dal suo nome che la sua funzione è quella di cancellare alcuni contenuti. Nella programmazione C, viene utilizzato per cancellare il buffer in modo che il flusso di output (stdout) possa visualizzare l'uscita.

In questo articolo, spiegheremo la funzione fflush () nella programmazione C con l'aiuto di esempi.

Qual è la funzione fflush () nella programmazione C

Prima di capire il fflush (), capiremo cosa è un buffer? Consideriamo un esempio; Stiamo guardando una stagione su Netflix, il Netflix buffra continuamente il contenuto del video per i prossimi minuti, quindi non è necessario attendere il caricamento del video, questo download è noto come buffering. Nella programmazione C il buffer funziona allo stesso modo. I valori memorizzati nel buffer possono diventare il motivo di risultati inaspettati.

Per cancellare il buffer, utilizziamo la funzione fflush (). Consideriamo un esempio:

#includere
int main ()
fprintf (stdout, "questo è linuxhint. ");
fprintf (Stderr, "Si tratta di fflush (). ");
fprintf (stdout ", questo è spiegato utilizzando la programmazione C. \N");
restituzione 0;

Digita il codice nel file di testo, TestFile.C, quindi compilare questo file usando un compilatore, poiché stiamo usando Linux, quindi compileremo il file usando il compilatore GCC:

$ GCC Testfile.C -o Testfile

Il file è stato compilato senza errori e avvertimenti, quindi eseguiremo il codice sopra

$ ./Testfile

L'output del file sopra non è previsto, il "questo è Linuxhint."Dovrebbe essere stampato prima del" questo è circa fflush () "ma non è successo. Perché lo "stdout" è per impostazione predefinita un buffer, quindi memorizzerà i valori nel buffer temporaneo mentre lo stderr non è bufferico, quindi ha visualizzato immediatamente l'output e lo stdout visualizzerà l'output del suo file dalla memoria del buffer o quando il programma Viene utilizzato le estremità o la nuova linea ("\ n").

Secondo questo, l'output viene visualizzato nell'ordine imprevisto, per stamparlo in modo ordinato, useremo la funzione ffllush ():

#includere
int main ()
fprintf (stdout, "questo è linuxhint. ");
fflush (stdout);
fprintf (Stderr, "Si tratta di fflush (). ");
fprintf (stdout ", questo è spiegato utilizzando la programmazione C. \N");
fflush (stdout);
restituzione 0;

Compilare il file utilizzando il compilatore GCC:

$ GCC Testfile.C -o Testfile

Eseguire il file utilizzando il comando:

$ ./Testfile

Ora i risultati sono ordinati perché fflush () ha cancellato la memoria tamponata e visualizzato l'uscita.

Conclusione

La funzione fflush () viene utilizzata per cancellare la memoria buffer e visualizzare i risultati di outputstream (stdout). In questo articolo, abbiamo spiegato la funzione fflush () nella programmazione C con l'aiuto di esempi. Si consiglia la funzione fflush () per l'uso con lo stdout perché stdout è per impostazione predefinita un buffer e salva i suoi dati nella memoria del buffer temporaneo.