Home »
        C programs »
        C stdio.h library functions programs
    
    
    fflush() function in C language with Example
    
    
    
    
        Here, we are going to learn about the fflush() function of  library header stdio.h in C language with its syntax, example.
        
            Submitted by Souvik Saha, on January 06, 2019
        
    
    fflush() function in C
    Prototype:
    int fflush(FILE *filename);
    Parameters:
    FILE *filename
    Return type: 0 or EOF
    Use of function:
    When we are dealing with file handling, instead of handling the files we handle the streams. There are three types of streams stdin (standard input), stderr (standard error), stdout (standard output). fflush() function is used to flush the buffer after each iteration in the program. When we open a file for the write operation, a call to fflush() function helps to write on the file and also it clears the buffer from the stream. The prototype of the ffiush() function is: int fflush(FILE* filename);
    A return value zero indicates that it is successful and a return value EOF implies that there is some error occurred.
    
    fflush() example in C
#include <stdio.h>
#include <stdlib.h>
int main()
{
    //Initialize the file pointer
    FILE* f;
    //Take a array of characters
    char ch[100];
    //Create the file for write operation
    f = fopen("includehelp.txt", "w");
    printf("Enter five strings\n");
    for (int i = 0; i < 4; i++) {
        //take the strings from the users
        scanf("%[^\n]", &ch);
        //write back to the file
        fputs(ch, f);
        //every time take a new line for the new entry string
        fputs("\n", f);
        //except for last entry.Otherwise print the last line twice
        //clear the stdin stream buffer
        //fflush(stdin);
        //if we don't write this then after taking string
        //%[^\n] is waiting for the '\n' or white space
    }
    //take the strings from the users
    scanf("%[^\n]", &ch);
    fputs(ch, f);
    //close the file after write operation is over
    fclose(f);
    //open a file
    f = fopen("includehelp.txt", "r");
    printf("File content is--\n");
    printf("\n...............print the strings..............\n");
    while (!feof(f)) {
        //takes the first 100 character in the character array
        fgets(ch, 100, f);
        //and print the strings
        printf("%s", ch);
    }
    //close the file
    fclose(f);
    return 0;
}
    Output
    
    If we don't use the fflush() function here. Then the output will be...
    
	C stdio.h Library Functions Programs »
	
	
    
    
    
    
    
    
    
  
    Advertisement
    
    
    
  
  
    Advertisement