【问题标题】:QFile: how to efficiently read just bytes from k, to k+LQFile:如何有效地从 k 读取字节到 k+L
【发布时间】:2013-12-31 18:58:22
【问题描述】:

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

【问题讨论】:

    标签: c++ qt bytearray qfile qbytearray


    【解决方案1】:

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

    即。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-26
      • 1970-01-01
      • 2020-11-08
      • 2014-01-20
      • 1970-01-01
      • 1970-01-01
      • 2022-06-28
      相关资源
      最近更新 更多