3

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

1 回答 1

6

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

IE。

if (!file.open(QIODevice::ReadOnly)){
    file.seek(k);
    QByteArray bytes = file.read(L);
}
于 2013-12-13T04:56:06.457 回答