逐行读取文本文件

Reading a text file line by line in C++

本文关键字:文件 取文本 读取 逐行      更新时间:2023-10-16

以下代码如何工作?循环的计数器在哪里,我该如何将计数器重置为行号0。

for (std::string line;std::getline(ifs, line); )
{
}

不需要计数器。这相当于

std::string line;
while(getline(ifs, line))
{
}

有方法可以将输入迭代器移回文件的开头。类似: ifs.seekg(0, std::ios::beg);应该做技巧。

您的for循环等效于:

{
    std::string line;
    while (std::getline(ifs, line)) {
    }
}

换句话说:"只要getline返回true"。

并将计数器重置为行号0(即到流的开头),您应该使用

ifs.seekg (0, ios::beg);