C++从文件中请求特定的行

C++ Request a specific row from a file

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

有没有办法打开一个包含大量数据的文件,只检索一个特定的行或索引,而不获取其余内容?

更新:

根据其他人在评论中提到的内容,我有一些后续问题。

有人能给我一个如何在行/换行符上设置固定宽度的例子吗(你想怎么称呼它(,或者给我看一个好的来源,我可以在那里阅读更多关于它的信息吗?

因此,如果我设置正确,我将能够从文件超高速中获得特定的行,即使它包含数百万行?

如果要按记录或行访问文件,并且行不是固定长度的,则必须创建一个结构,以便将文件位置与行索引关联(或映射(。

我建议使用std::vector<std::streampos>

通读文件
当文件位于一行的开头时,读取文件位置并附加到矢量。

如果需要访问文件中的一行:
1(使用矢量获取该行的文件位置
2(使用文件位置查找行。

这种技术适用于固定长度和可变长度的行。