这个问题在这里已有答案:
我有一个我读过的文件,我想从计算行数开始,所以我做了
我想计算输入文件中的行数
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++) {};
void foo(ifstream &MyList) {
int nb_lines = 0;
string line;
for (; getline(MyList,line); nb_lines++);
// alternatively
while( getline(MyList,line) )
++nb_lines;
}
这通常就足够了。