Я могу читать байты от k до k + L из QFile, читая первый файл целиком в QByteArray
if (!file.open(QIODevice::ReadOnly))
//...
QByteArray blob = file.readAll();
QByteArray bytes = blob.mid( k, L);
Как эффективно читать только байты от k до k + L?
if (!file.open(QIODevice::ReadOnly))
//...
QByteArray bytes = bytesFromFile( file, k, L);
Используйте метод поиска, чтобы добраться до позиции в файле, который вы хотите начать читать.
Затем используйте метод read, чтобы прочитать столько байтов, сколько вы хотите с этого момента.
то есть.
if (!file.open(QIODevice::ReadOnly)){
file.seek(k);
QByteArray bytes = file.read(L);
}
Других решений пока нет …