通过for循环[重复]获取文件的行数

问题描述 投票:0回答:1

这个问题在这里已有答案:

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

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

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++) {};

c++ ifstream getline
1个回答
1
投票
void foo(ifstream &MyList) {
    int nb_lines = 0;
    string line;
    for (; getline(MyList,line); nb_lines++);
    // alternatively
    while( getline(MyList,line) )
        ++nb_lines;
}

这通常就足够了。

© www.soinside.com 2019 - 2024. All rights reserved.