Home » C programs » stdio.h header file functions

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

fflush example in c 1

If we don't use the fflush() function here. Then the output will be...

fflush example in c 2




Comments and Discussions

Ad: Are you a blogger? Join our Blogging forum.



Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing » Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© https://www.includehelp.com some rights reserved.