Ошибка при использовании STXXL Autogrow
В настоящее время я работаю над проектом, который требует около 20 векторов для записи в отдельные файлы. Мне также нужно, чтобы мой файл STXXL автоматически увеличивался для учета очень больших векторов. Я понимаю, что STXXL предоставляет функцию автоматического увеличения для файлов на диске, если вы задаете размер в файле.stxxl равным 0. Я сделал это, но я получаю ошибку ввода-вывода при создании моего первого вектора.
Мой файл.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 ответ
Итак, чтобы ответить на мой собственный вопрос, я считаю, что проблема заключалась в попытке создать файл на диске непосредственно в корне диска C. Как только я изменил путь в своем файле.stxxl на абсолютный путь от моего пользовательского каталога, это не сработало, автостраковка и все!