NewFile NewFile - 24 days ago 7
C++ Question

C++ Get Total File Line Number

Is there a function I can use to get total file line number in

C++
, or does it have to be manually done by
for
loop?

#include <iostream>
#include <ifstream>

ifstream aFile ("text.txt");
if (aFile.good()) {
//how do i get total file line number?

}


text.txt

line1
line2
line3

Answer

There is no such function. Counting can be done by reading whole lines

std::ifstream f("text.txt");
std::string line;
for (int i = 0; std::getline(f, line); ++i)
    ;

or by reading character-wise and checking for linefeed

std::ifstream f("text.txt");
char c;
int i = 0;
while (f.get(c))
    if (c == '\n')
        ++i;