• Articles
  • Tutorials
  • Interview Questions
  • Webinars

File Handling in C - Create, Open, Read, Write and Close a File

Introduction to File Handling in C

File handling involves working with files on a computer’s file system. In C, you interact with files through file pointers, which act as references to the opened files. The stdio.h library provides functions and macros to facilitate file operations.

Opening and Closing Files

To work with a file, you need to open it using the fopen() function, which takes two arguments: the filename and the mode (read, write, append, etc.). Common modes include “r” (read), “w” (write), and “a” (append). Don’t forget to close the file after you’re done using it with the fclose() function to free up system resources.

Reading from a File

Use functions like fgetc(), fgets(), and fread() to read data from files. fgetc() reads characters one at a time, while fgets() reads a line of text. fread() reads a specified number of bytes, making it suitable for reading binary data.

Writing to a File

For writing data to files, C provides functions like fputc(), fputs(), and fwrite(). These functions are analogous to their reading counterparts. Remember to use the appropriate mode when opening a file for writing to avoid overwriting existing data.

Text vs. Binary Mode

Files can be opened in either text mode or binary mode. Text mode handles end-of-line characters and conversions, making it suitable for text files. Binary mode preserves data as-is, making it suitable for non-text files like images, audio, and executables.

Seeking within Files

File pointers can be positioned at specific locations within a file using functions like fseek() and ftell(). These functions are useful for navigating large files or updating specific portions of a file.

Error Handling in C

File operations can fail due to various reasons, such as permission issues or nonexistent files. Always check the return values of file functions and use perror() or strerror() to print meaningful error messages.


The guide includes several examples that demonstrate how to perform common file-handling tasks. These examples will help you solidify your understanding of the concepts presented in the guide.

Real-World Applications

File handling in C is used in a wide variety of real-world applications, such as:

  • Storing data for later retrieval
  • Logging program activity
  • Managing configuration settings
  • Creating backups
  • Transferring data between systems


File handling is a fundamental skill that all C programmers should master. By understanding the concepts and techniques presented in this guide, you will be well-equipped to handle various file-related tasks in your C projects.

Remember, file handling is a skill that improves with practice. Experiment with different file operations and modes to gain a deeper understanding of how to effectively work with files in the C programming language.

Course Schedule

Name Date Details
Python Course 22 Jun 2024(Sat-Sun) Weekend Batch
View Details
Python Course 29 Jun 2024(Sat-Sun) Weekend Batch
View Details
Python Course 06 Jul 2024(Sat-Sun) Weekend Batch
View Details

About the Author

Senior Consultant Analytics & Data Science

Presenting Sahil Mattoo, a Senior Consultant Analytics & Data Science at Eli Lilly and Company is an accomplished professional with 14 years of experience across data science, analytics, and technical leadership domains, demonstrates a remarkable ability to drive business insights. Sahil holds a Post Graduate Program in Business Analytics and Business Intelligence from Great Lakes Institute of Management.