QFile:如何有效地只读取从k到k + L的字节

时间:2013-12-13 04:39:34

标签: c++ qt bytearray qfile qbytearray

我可以从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);

1 个答案:

答案 0 :(得分:5)

使用搜索方法到达您要开始阅读的文件中的位置。 然后使用read方法从该点读取任意数量的字节。

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