Write a C program to read a data from file and display

In C programming, reading data from a file and displaying it is a fundamental file handling operation. This involves opening a file in read mode, reading its contents character by character, and formatting the output for better readability.

Syntax

FILE *fopen(const char *filename, const char *mode);
int getc(FILE *stream);
int fclose(FILE *stream);

File Opening Modes

Write mode ("w"):

FILE *fp;
fp = fopen("sample.txt", "w");
  • If the file does not exist, then a new file will be created.
  • If the file exists, then old content gets erased and current content will be stored.

Read mode ("r"):

FILE *fp;
fp = fopen("sample.txt", "r");
  • If the file does not exist, then fopen function returns NULL value.
  • If the file exists, then data is read from the file successfully.

Example: Reading and Displaying File Data in Tabular Form

The following program creates a file with comma-separated values and displays them in tabular format by replacing commas with tabs −

Note: Since this program involves file operations that require user input, it uses predefined data instead of interactive input for online compilation.

#include <stdio.h>
#include <stdlib.h>

int main() {
    char ch;
    FILE *fp;
    
    /* Writing data to file */
    fp = fopen("std1.txt", "w");
    if (fp == NULL) {
        printf("Error opening file for writing!<br>");
        return 1;
    }
    
    /* Writing sample data to file */
    fprintf(fp, "Name,Item,Price\nBhanu,1,23.4\nPriya,2,45.6<br>");
    fclose(fp);
    
    /* Reading data from file */
    fp = fopen("std1.txt", "r");
    if (fp == NULL) {
        printf("Error opening file for reading!<br>");
        return 1;
    }
    
    printf("Data from file in tabular format:<br>");
    while ((ch = getc(fp)) != EOF) {
        if (ch == ',')
            printf("\t\t");
        else
            printf("%c", ch);
    }
    
    fclose(fp);
    return 0;
}
Data from file in tabular format:
Name		Item		Price
Bhanu		1		23.4
Priya		2		45.6

How It Works

The program uses the following logic to display data in tabular form −

while ((ch = getc(fp)) != EOF) {
    if (ch == ',')
        printf("\t\t");
    else
        printf("%c", ch);
}
  • getc() reads one character at a time from the file
  • When a comma is encountered, it prints tab spaces for column alignment
  • Other characters are printed as they are
  • The loop continues until End of File (EOF) is reached

Key Points

  • Always check if fopen() returns NULL to handle file opening errors
  • Use fclose() to properly close files after operations
  • The getc() function reads characters one by one until EOF
  • Tab characters (\t) help align data in columns

Conclusion

Reading data from files in C involves opening the file in read mode, processing characters sequentially, and formatting output as needed. Proper error checking and file closure are essential for robust file operations.

Updated on: 2026-03-15T13:47:09+05:30

17K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements