我可以从 QFile 中读取从 k 到 k+L 的字节,将第一个整个文件读入 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);
最佳答案
使用 seek 方法到达文件中您要开始阅读的位置。 然后使用 read 方法从该点读取任意数量的字节。
即。
if (!file.open(QIODevice::ReadOnly)){
file.seek(k);
QByteArray bytes = file.read(L);
}
关于c++ - QFile:如何有效地只读取从 k 到 k+L 的字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20559195/