top of page
Search

File in C programming

  • Writer: welly widianto
    welly widianto
  • Dec 12, 2018
  • 3 min read

There are large number of functions file I/O (Input Output) in C. In this blog you will learn to handle standard I/O in C using fprintf(), fscanf(), fread(), fwrite()


Why files are needed?

  1. When a program is terminated, the entire data is lost. Storing in a file will preserve your data even if the program terminates.

  2. If you have to enter a large number of data, it will take a lot of time to enter them all. However, if you have a file containing all the data, you can easily access the contents of the file using few commands in C.

  3. You can easily move your data from one computer to another without any changes.

Type of files :


1. Text files

Text files are the normal .txt files that you can easily create using Notepad or any simple text editors.


When you open those files, you'll see all the contents within the file as plain text. You can easily edit or delete the contents.


They take minimum effort to maintain, are easily readable, and provide least security and takes bigger storage space.

2. Binary files

Binary files are mostly the .bin files in your computer.


Instead of storing data in plain text, they store it in the binary form (0's and 1's).


They can hold higher amount of data, are not readable easily and provides a better security than text files.


File Operations

In C, you can perform four major operations on the file, either text or binary:

  1. Creating a new file

  2. Opening an existing file

  3. Closing a file

  4. Reading from and writing information to a file

Working with files

When working with files, you need to declare a pointer of type file. This declaration is needed for communication between the file and program.

FILE *fptr;

Opening a file for creation and edit

Opening a file is performed using the library function in the "stdio.h" header file: fopen().

The syntax for opening a file in standard I/O is:

ptr = fopen("fileopen","mode")

For Example:

fopen("E:\\cprogram\\newprogram.txt","w");

fopen("E:\\cprogram\\oldprogram.bin","rb");

Let's suppose the file newprogram.txt doesn't exist in the location E:\cprogram. The first function creates a new file named newprogram.txt and opens it for writing as per the mode 'w'.

The writing mode allows you to create and edit (overwrite) the contents of the file.


Now let's suppose the second binary file oldprogram.bin exists in the location E:\cprogram. The second function opens the existing file for reading in binary mode 'rb'. The reading mode only allows you to read the file, you cannot write into the file.


Closing a file

The file (both text and binary) should be closed after reading/writing.


Closing a file is performed using library function fclose().

fclose(fptr); //fptr is the file pointer associated with file to be closed.

Reading and writing to a text file

For reading and writing to a text file, we use the functions fprintf() and fscanf().


They are just the file versions of printf() and scanf(). The only difference is that, fprint and fscanf expects a pointer to the structure FILE.


Reading and writing to a binary file

Functions fread() and fwrite() are used for reading from and writing to a file on the disk respectively in case of binary files.


Writing to a binary file

To write into a binary file, you need to use the function fwrite(). The functions takes four arguments: Address of data to be written in disk, Size of data to be written in disk, number of such type of data and pointer to the file where you want to write.

fwrite(address_data,size_data,numbers_data,pointer_to_file);

Reading from a binary file

Function fread() also take 4 arguments similar to fwrite() function as above.

fread(address_data,size_data,numbers_data,pointer_to_file);

Thank you

 
 
 

Recent Posts

See All
Cloud Computing

Cloud computing is shared pools of configurable computer system resources and higher-level services that can be rapidly provisioned with...

 
 
 

Comments


Post: Blog2_Post

081957023588

©2018 by Life on Campus. Proudly created with Wix.com

bottom of page