如何从文本文件c ++中读取特定行

时间:2015-02-01 00:43:44

标签: c++ fstream

如果我有这样的文本文件: 一个 b C d

如何在没有计数循环的情况下读取第n行,所以如果行号是3,我可以得到字母c。

2 个答案:

答案 0 :(得分:0)

唯一的方法是知道第三行开始的偏移量(以字节为单位)。

您可以为此文件构建“索引”(遍历文件一次并存储每行开始的位置)。或者,如果您知道所有行都具有相同的长度,则可以计算/猜测偏移量。

如果没有此先验知识,则无法从文件中读取任意数字的行。

答案 1 :(得分:0)

这里,n从0开始

string line;
for (streamsize i = 0; i <= n; i++)
{
    if (! getline(myfile, line))
    {
        // some issue occured, probably not enough lines
    }
}

// line variable now contains line n