QFile: как эффективно читать только байты от k до k + L

Я могу читать байты от 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);

3

Решение

Используйте метод поиска, чтобы добраться до позиции в файле, который вы хотите начать читать.
Затем используйте метод read, чтобы прочитать столько байтов, сколько вы хотите с этого момента.

то есть.

if (!file.open(QIODevice::ReadOnly)){
file.seek(k);
QByteArray bytes = file.read(L);
}
5

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]