所以,我找到了我想要读取的文件的特定行,但是我得到的却不起作用:
string str;
int target = 0;
ifstream record;
record.open("Record.txt");
target = std::count(std::istreambuf_iterator<char>(record), std::istreambuf_iterator<char>(), '\n') - 8;
cout << target << endl;
for(int lineNum = 0; lineNum <= target; lineNum++)
{
getline(record, str);
if(lineNum == target)
{
cout <<"the id: "<< str << endl;
}
}
在上面,我使用 std::count 来计算文件的行数。我知道我总是想从底部开始阅读第 8 行,所以我将目标设置为那个。接下来,我遍历每一行直到目标时间,并检查我是否在目标行。如果是这样,然后cout线路。
但是,它并没有给我任何东西。对于一个有 22 行的文件,我得到以下输出:
14
the id:
有人可以指出我做错了什么或给我一些提示吗?谢谢!