C Standard Library

C <stdio.h> - fflush() Function



The C <stdio.h> fflush() function flushes the buffer of a stream.

If the given stream is open for writing (or if it is open for updating and the last i/o operation was an output operation) any unwritten data from the stream's buffer is written to the associated output device.

If stream is a null pointer, all open output streams are flushed.

In all other cases, the behavior is undefined.

Syntax

int fflush ( FILE * stream );

Parameters

stream Specify a pointer to a FILE object that specifies a buffered stream.

Return Value

On success, returns zero. On error, returns EOF and sets the error indicator ferror().

Example:

In the example below, fflush() is used to flush the buffer of stream.

#include <stdio.h>
 
int main (){
  int x;
  char mybuffer[1024];

  setvbuf(stdout, mybuffer, _IOFBF, 1024);
  printf("Enter an integer - ");

  fflush(stdout);

  scanf("%d",&x);
  printf("You have entered %d.", x);

  return 0;
}

If the following input is entered:

10

The output of the above code will be:

Enter an integer - 10
You have entered 10.

❮ C <stdio.h> Library