0

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

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

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

我希望这里有人能指出我应该如何做到这一点的正确方向:比如我可以使用哪些语言、数据结构、算法等。

4

1 回答 1

1

你看过使用内存映射文件吗?它们允许对文件进行寻址,就好像它们是应用程序内存的一部分一样,即使它们大于实际可用内存。

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

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

于 2013-07-29T19:27:07.510 回答