我有一个QIODevice,它从未定义的源接收数据。
我想做的就是将所有数据转储到QIODevice发送的文件中,但是如果我读取了另一个依赖原始数据更改的处理程序。

基本上我想要的是

void piping( QIODevice* Data )
{
    if ( outgoingData )
    {
        qDebug()<<Data->readAll();
    }

    // gets nothing as readAll has already consumed all data
    dependentOn(Data);
}

函数dependentOn未由我定义,因此我无法更改其定义。

最佳答案

qint64 QIODevice::peek(char * data, qint64 maxSize)是您想要的。

从文档中:



引用:http://doc.qt.io/qt-5/qiodevice.html#peek

09-05 07:08