Ошибка при использовании STXXL Autogrow

0

В настоящее время я работаю над проектом, в котором требуется около 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);

Может ли кто-нибудь помочь мне исправить это?

Благодарю!

Теги:
io
vector
memory-management
stxxl

1 ответ

0
Лучший ответ

Поэтому, чтобы ответить на мой собственный вопрос здесь, я считаю, что проблема заключалась в попытке создать файл на диске непосредственно в корне диска C. Как только я изменил путь в моем файле.stxxl до абсолютного пути от моего каталога пользователя, это не сработало, autogrow и все!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню