使用STXXL Autogrow时出错

时间:2013-10-11 18:42:54

标签: c++ memory-management vector io stxxl

我目前正在开发一个项目,需要将大约20个向量写入单个文件。我还需要我的STXXL磁盘文件自动增长以考虑非常大的向量。我知道如果你将.stxxl文件中的大小指定为0,STXXL会为磁盘文件提供自动增长功能。我已经这样做了,但是在创建第一个向量时出现了IO错误。

我的.stxxl文件如下:

disk=c:\stxxl,0,wincall

我正在创建我的矢量:

stxxl::wincall_file file("file.dat", stxxl::file::CREAT | stxxl::file::RDWR); stxxl::vector<double, 2, stxxl::lru_pager<8>> vector1(&file, 1000000);

任何人都可以帮我解决这个问题吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

所以,在这里回答我自己的问题,我认为问题是试图直接在C盘的根目录下创建一个磁盘文件。一旦我将.stxxl文件中的路径更改为我的用户目录中的绝对路径,它就没有问题,自动增长和所有!