You know that reading a file line-by-line is a basic yet essential task in C++, which helps you to process the data stored in the external files efficiently. There are various methods to read a file line-by-line using the ifstream provided by the standard library. Here is another method instead of using the std::getline() that you can use to read a file line-by-line, i.e., the eof() in C++.
Read a File Till EOF with eof() in C++
The most preferred method is to use the getline() function to read a file line-by-line in C++, but you can also use the eof() function to read an entire file till the end by using it with a while loop. This function reads files line-by-line till the end of the file. Also, you need to be more careful using this method because the eof() becomes true only after trying to read the end of the file.
Example 1:
File name: sample.txt
Let’s read a file.
Reading a file line-by-line is an important task.
Output:
In this code, firstly, the attached file is opened, and getline() is used with the eof() function to read the file line-by-line till the end. The while loop continues till the end and prints the output. Then, the file is closed.
Example 2:
File name: sample.txt
Let’s read a file.
Output:
In this code, firstly, the attached file is opened, and getline() is used with the eof() function to read the file line-by-line till the end. The while loop continues till the end and prints the output. Then, the file is closed.
Conclusion
Reading a file line-by-line in C++ is an essential part of processing data, and it can be done efficiently by using different methods. The method using a while loop with eof() we have discussed here is simple and easy to use, but it has some limitations. This method simply allows you to process the text data efficiently till the end of the file. So, by understanding this method, you can easily read a file line by line in C++.
Some Other Methods to Read a File Line by Line in C++
- getline() Function in C++
- basic_istream::operator>> in C++
- istream::readsome() in C++
- std::ifstream::get() in C++
- Read from a Binary File in C++