从文件中读取数据并保存数据以供以后搜索,插入等的方法

时间:2013-07-29 18:15:36

标签: c++

目前,我们使用c ++代码读取文件(逐行,然后对其进行排序并将其保存为其他格式(txt文件)),逐行读取的数据保存在向量中。这对于小尺寸数据文件来说都很好。

但现在我们需要支持大型数据文件,这些文件会导致我们的代码崩溃(没有足够的内存用于向量重新分配和存储。我们无法知道我们将拥有多少行数据,因此我们无法设置向量的大小)。

所以我们认为我们应该重新设计我们的代码来处理大数据。 这一次,我们希望我们能够以一种我们可以在本地和整体上操作(搜索,排序,插入......)数据的方式保存数据。

我希望有人能够指出我应该如何做到这一点:例如我可以使用的语言,数据结构,算法等等。

1 个答案:

答案 0 :(得分:1)

你看过使用内存映射文件了吗?它们允许将文件作为应用程序内存的一部分进行寻址,即使它们大于实际可用内存。

有关它们的更多信息,请参阅以下链接:

这些链接是有关内存映射文件大小限制的问题的先前答案。基本上文件可能比地址空间大,但您可能无法一次“查看”所有文件。