Skip to content
Iampsp Blog

Iampsp Blog

I am a programming service provider

My Portfolio
Project order
Reviews
Favorite Exchange

Categories

  • C
  • C#
  • C++
  • CSS
  • Firefox Addons
  • Firefox Themes
  • HTML
  • JAVA
  • JavaScript
  • jQuery
  • Mybb Plugins
  • MySQL
  • PHP
  • Python
  • React
  • SQL

Recent Posts

  • jQuery – Get Content and Attributes
  • jQuery – Chaining
  • jQuery Callback Functions
  • jQuery Stop Animations
  • jQuery Effects – Animation

C Read Files

Read a File

In the previous chapter, we wrote to a file using w and a modes inside the fopen() function.

To read from a file, you can use the r mode:

Example

FILE *fptr;

// Open a file in read mode
fptr = fopen("filename.txt", "r");

This will make the filename.txt opened for reading.

It requires a little bit of work to read a file in C. Hang in there! We will guide you step-by-step.

Next, we need to create a string that should be big enough to store the content of the file.

For example, let’s create a string that can store up to 100 characters:

Example

FILE *fptr;

// Open a file in read mode
fptr = fopen("filename.txt", "r");

// Store the content of the file
char myString[100];

In order to read the content of filename.txt, we can use the fgets() function.

The fgets() function takes three parameters:

Example

fgets(myString, 100, fptr);
  1. The first parameter specifies where to store the file content, which will be in the myString array we just created.
  2. The second parameter specifies the maximum size of data to read, which should match the size of myString (100).
  3. The third parameter requires a file pointer that is used to read the file (fptr in our example).

Now, we can print the string, which will output the content of the file:

Example

FILE *fptr;

// Open a file in read mode
fptr = fopen("filename.txt", "r");

// Store the content of the file
char myString[100];

// Read the content and store it inside myString
fgets(myString, 100, fptr);

// Print the file content
printf("%s", myString);

// Close the file
fclose(fptr);

Hello World!

Note: The fgets function only reads the first line of the file. If you remember, there were two lines of text in filename.txt.

To read every line of the file, you can use a  while loop:

Example

FILE *fptr;

// Open a file in read mode
fptr = fopen("filename.txt", "r");

// Store the content of the file
char myString[100];

// Read the content and print it
while(fgets(myString, 100, fptr)) {
  printf("%s", myString);
}

// Close the file
fclose(fptr);
Hello World!
Hi everybody!

Good Practice

If you try to open a file for reading that does not exist, the fopen() function will return NULL.

Tip: As a good practice, we can use an if statement to test for NULL, and print some text instead (when the file does not exist):

Example

FILE *fptr;

// Open a file in read mode
fptr = fopen("loremipsum.txt", "r");

// Print some text if the file does not exist
if(fptr == NULL) {
  printf("Not able to open the file.");
}

// Close the file
fclose(fptr);

If the file does not exist, the following text is printed:

Not able to open the file.

With this in mind, we can create a more sustainable code if we use our “read a file” example above again:

Example

If the file exist, read the content and print it. If the file does not exist, print a message:

FILE *fptr;

// Open a file in read mode
fptr = fopen("filename.txt", "r");

// Store the content of the file
char myString[100];

// If the file exist
if(fptr != NULL) {

  // Read the content and print it
  while(fgets(myString, 100, fptr)) {
    printf("%s", myString);
  }

// If the file does not exist
} else {
  printf("Not able to open the file.");
}

// Close the file
fclose(fptr);
Hello World!
Hi everybody!
Posted on 2025-04-19Author MostafaCategories CTags c files read and write, c get files in directory, c get files in directory windows, c open files, c programming a modern approach, c programming a modern approach pdf, c programming book, c programming course, c programming exercises, c programming language, c programming language book, c programming language pdf, c programming online, c programming tutorial, c read binary files, c read files, c read files in directory, c read files line by line, c read multiple files, c sharp read files from directory

Post navigation

Previous Previous post: C Write To Files
Next Next post: C Structures
Proudly powered by WordPress