How to process a file line by line in C++?

In C++, how to process a file line by line? The file is a plain text line like input.txt. As an example, the process can be to just print it out.

asked May 23, 2017 by dtivl (2,500 points)

1 Answer

In C++, you may open a input stream on the file and use the std::getline() function from the <string> to read content line by line into a std::string and process them.

std::ifstream file("input.txt");
std::string str; 
while (std::getline(file, str)) {
  // process string ...
}

A full example is as follows:

$ g++ file-read-line.cpp -o s && ./s
$ cp file-read-line.cpp input.txt
$ ./s
#include <iostream>
#include <fstream>
#include <string>

int main ()
{
  std::ifstream file("input.txt");
  std::string str;
  while (std::getline(file, str)) {
    std::cout << str << "\n";
  }
}
answered May 23, 2017 by dtivl (2,500 points)

Please log in or register to answer this question.

Copyright © SysTutorials. User contributions licensed under cc-wiki with attribution required.
Hosted on Dreamhost

...