Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Explain C Error handling functions
File is collection of records or is a place on hard disk, where data is stored permanently.
Operations on files
The operations on files in C programming language are as follows −
- Naming the file
- Opening the file
- Reading from the file
- Writing into the file
- Closing the file
Syntax
The syntax for opening a file is as follows −
FILE *File pointer;
For example, FILE * fptr;
The syntax for naming a file is as follows −
File pointer = fopen ("File name", "mode");
For example,
fptr = fopen ("sample.txt", "r");
FILE *fp;
fp = fopen ("sample.txt", "w");
Error Handling in Files
Some of the errors in files are as follows −
- Trying to read beyond an end of file.
- Device over flow.
- Trying to open an invalid file.
- Performing an invalid operation by opening a file in a different mode.
ferror( )
It is used for detecting an error while performing read / write operations.
The syntax for ferror() function is as follows −
Syntax
int ferror (file pointer);
For example,
Example
FILE *fp;
if (ferror (fp))
printf ("error has occurred");
It returns zero, if success and a non- zero, otherwise.
Program
Following is the C program for using ferror() function −
#include<stdio.h>
int main(){
FILE *fptr;
fptr = fopen("sample.txt","r");
if(ferror(fptr)!=0)
printf("error occurred");
putc('T',fptr);
if(ferror(fptr)!=0)
printf("error occurred");
fclose(fptr);
return 0;
}
Output
When the above program is executed, it produces the following result −
error occurred Note: try to write a file in the read mode results an error.
perror ( )
It is used for printing an error.
The syntax for perror() function is as follows −
Syntax
perror (string variable);
For example,
Example
FILE *fp; char str[30] = "Error is"; perror (str);
The output is as follows −
Error is: error 0
Program
Following is the C program for using perror() function −
#include<stdio.h>
int main ( ){
FILE *fp;
char str[30] = "error is";
int i = 20;
fp = fopen ("sample.txt", "r");
if (fp == NULL){
printf ("file doesnot exist");
}
else{
fprintf (fp, "%d", i);
if (ferror (fp)){
perror (str);
printf ("error since file is opened for reading only");
}
}
fclose (fp);
return 0;
}
Output
When the above program is executed, it produces the following result −
error is: Bad file descriptor error since file is opened for reading only
feof( )
It is used for checking whether an end of the file has been reached (or) not.
The syntax for feof() function is as follows −
Syntax
int feof (file pointer);
For example,
Example
FILE *fp;
if (feof (fp))
printf ("reached end of the file");
It returns a non-zero, if success and zero, otherwise.
Program
Following is the C program for using feof() function −
#include<stdio.h>
main ( ){
FILE *fp;
int i,n;
fp = fopen ("number. txt", "w");
for (i=0; i<=100;i= i+10){
putw (i, fp);
}
fclose (fp);
fp = fopen ("number. txt", "r");
printf ("file content is");
for (i=0; i<=100; i++){
n = getw (fp);
if (feof (fp)){
printf ("reached end of file");
break;
}else{
printf ("%d", n);
}
}
fclose (fp);
getch ( );
}
Output
When the above program is executed, it produces the following result −
File content is 10 20 30 40 50 60 70 80 90 100 Reached end of the file.