Tuesday, October 20, 2020

, ,

How to use the fflush in c programming with example

 fflush() function in c programming is use to  flushes the contents of output to given file.

Understand the fflush function:-

To discuses the common issue due to the output buffering after the execute the c program.

#include <stdio.h>
 
int main() {
    fprintf(stdout, "This is to stdout. ");
    fprintf(stderr, "This is to stderr. ");
    fprintf(stdout, "This is also to stdout. ");
}
Out for this code snippet comes in different order.

fflush function program in c
fflush function program in c


The reason behind for this random order is buffered of any file in computer.

Well by default stdout is newline-buffered and on the other hand stderr is unbuffered

For stdout the content will be stored inside the temporary buffer so the output will be displayed when counters a newline or end of the file.

 On the other hand  stderr is not buffered the out will be written immediately.

That's why the stderr will be displayed first in upper program.

But if you want to displayed the standout output first the you have to flush the output with the fflush program in c.

#include <stdio.h>
 
int main() {
    fprintf(stdout, "This is to stdout. ");
    // output stream immediately
    fflush(stdout);
    fprintf(stderr, "This is to stderr. ");
   
    fprintf(stdout, "This is also to stdout. ");
    // output stream immediately
    fflush(stdout);
}

Output Of fflush program in c


Output of fflush program
Output

0 comments:

Post a Comment