C++ 如何方便地将文件块读取到QByteArray?

C++ 如何方便地将文件块读取到QByteArray?,c++,qt,qfile,qbytearray,C++,Qt,Qfile,Qbytearray,我想通过网络发送文件块。我想将它们作为单个QByteArrays发送,比如200字节。我想我可以使用QFile,但我不明白它有什么问题。我尝试以给定路径打开文件,然后开始异步发送: QByteArray readFileChunk(QFileInfo filePath, quint64 offset, quint64 minLength) { if(filePath.isFile() && filePath.isReadable()) { // Prep

我想通过网络发送文件块。我想将它们作为单个
QByteArray
s发送,比如200字节。我想我可以使用
QFile
,但我不明白它有什么问题。我尝试以给定路径打开文件,然后开始异步发送:

QByteArray readFileChunk(QFileInfo filePath, quint64 offset, quint64 minLength)
{
    if(filePath.isFile() && filePath.isReadable()) {

        // Prepare the file instance and reset the byte count to 0             
        QFile currentFile(filePath.absoluteFilePath());
    }
}

我不知道如何从文件中读取从X到Y的范围,如
QByteArray
。我在互联网上找不到简明的例子,所以我发布了这个问题。

我看不出问题标题与编译错误有什么关系。我删除了干扰问题的错误。我仍然不明白为什么这个问题值得否决,甚至在编辑之前就已经很清楚了。你可以使用重载从源中读取最大字节数。这就是您要找的吗?可能的副本请显示
sendDatagram
的内容,并解释您正在使用的协议的详细信息。最有可能的
sendDatagram
是以阻塞方式编写的。您应该反转控制流,以便数据报以网络能够接受的速度发送,而不是更快,并且文件读取应该降级到I/O线程,因为Qt不提供异步
QFile