首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QIODevice的配管数据

QIODevice的配管数据
EN

Stack Overflow用户
提问于 2015-06-07 14:37:22
回答 1查看 444关注 0票数 1

我有一个QIODevice,它从一个未定义的来源接收数据。我想要做的是将所有数据转储到一个从QIODevice发送的文件中,但是如果我读取了该文件,那么另一个依赖于原始数据的处理程序会发生变化。

基本上我想要的是

代码语言:javascript
复制
void piping( QIODevice* Data )
{
    if ( outgoingData )
    {
        qDebug()<<Data->readAll();
    }

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

函数dependentOn不是我定义的,所以我不能更改它的定义。

EN

回答 1

Stack Overflow用户

发布于 2015-06-07 21:37:29

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

从文档中:

qint64 QIODevice::peek(字符*数据,qint64 maxSize)

从设备读取最多maxSize字节到数据中,没有副作用(即,如果您在peek()之后调用read(),您将获得相同的数据)。返回读取的字节数。如果发生错误,例如在尝试查看以WriteOnly模式打开的设备时,此函数将返回-1。

参考:http://doc.qt.io/qt-5/qiodevice.html#peek

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30690793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档