Приветствую.
На QT пишу редко, отсюда незнание особенностей.
Столкнулся с проблемой при чтении файлов, размер которых превышает 1.5Гб.
Предположим, имеется текстовый файл размером 2 Гб, хочу впихнуть его в память в виде хеш-таблицы.
В качестве примера:
QString line;
QFile mfile("bigfile.txt");
if(!mfile.open(QIODevice::ReadOnly))
qDebug() << "Error opening file";
QTextStream in(&mfile);
QHash<QString, quint64> myHash;
quint64 c = 0;
do {
c++;
line = in.readLine();
myHash.insert(line, c);
} while (!line.isNull());
Дело в том, что когда приложение набирает около 1300 мб, вылетает ошибка.
Судя по всему, это защита ОС.
Хотелось бы услышать правильное решение проблемы.
Основная задача - это создать что-то вроде массива/хеш таблицы для удобной работы с элементами, удаление дублей, сортировка и т.д.
Заранее спасибо.