通过for循环获取文件的行数

时间:2019-03-14 21:01:33

标签: c++ ifstream getline

我有一个已读取的文件,我想从计算行数开始,所以我做到了

我想计算输入文件中的行数

void foo(ifstream &MyList) 
{
    int nb_lines = 0;
    string line;
    for (nb_lines; getline(MyList,line); nb_lines++) {};
    [...]
}

我猜这不是正确的方法,但确实可以。 我应该怎么做?

此外,编译器告诉我statement has no effect,这是错误的(nb_lines的值已更改)。我可以让他明白吗? --->只需使用for (; getline(MyList,line); nb_lines++) {};

1 个答案:

答案 0 :(得分:1)

void foo(ifstream &MyList) {
    int nb_lines = 0;
    string line;
    for (; getline(MyList,line); nb_lines++);
    // alternatively
    while( getline(MyList,line) )
        ++nb_lines;
}

通常就足够了。