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

how to read a specific line from a text file c++

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

如果我有这样的文本文件:一个bcd

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

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

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

如果没有这种先验知识,您将无法从文件中读取具有任意数字的行。

这里,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