Чтение очень больших файлов Qt - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь прочитать очень большой файл в двоичном режиме, но я получаю сообщение об ошибке при попытке прочитать файл размером 10 ГБ. Я пытался использовать отображение памяти, чтобы не загружать данные в ОЗУ, но, как я понял, это не сработало.

std::unique_ptr<QFile> file { new QFile("E:\\Test10Gb.mkv") };
file->open(QIODevice::ReadOnly);
std::unique_ptr<uchar> memory{ file->map(0, file->size()) };
if (memory) {
    std::cout << file->size() << std::endl;
file->unmap(memory.get());
}
else
{
    std::cout << "Read error" << std::endl;
    return a.exec();
}
...