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