QIODevice管道数据
Piping data of QIODevice
我有一个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)
就是你想要的。
来自文档:
qint64 QIODevice::peek(char * data, qint64 maxSize)
从设备读取最多maxSize字节为数据,不带侧效果(即,如果在peek()之后调用read(),您将获得相同的效果数据)。返回读取的字节数。如果出现错误,例如当试图窥视在WriteOnly模式下打开的设备时,这函数返回-1
参考:http://doc.qt.io/qt-5/qiodevice.html#peek
相关文章:
- 将结构数据类型传递给 C++ 中的命名管道
- 如何使客户端在将数据写入 C++ 管道之前检查服务器是否完成了从管道的读取操作
- 无法使用管道将数据发送到我通过exec(C++)启动的第二个应用程序
- 如何以正确的格式沿第二个管道发送回数据?
- 管道未正确读取数据
- 用于在 c++ 程序之间发送数据的基本命名管道
- 如何正确使用管道将数据从子过程传输到父过程
- C 是否可以加密通过命名管道发送的数据
- 如何从 GStreamer 管道读取数据中的特定字段
- 如何从命名管道获取结构化数据并将其写入Qt中的qtableview
- 防止在管道中输入数据时退出
- MySQL Windows c api 命名管道错误:"在'等待初始通信数据包'时丢失与 MySQL 服务器的连接,系统错误:0
- 先进先出管道中的数据丢失?
- C++:在数据写入管道时从 stdin 读取
- 父进程没有完全从命名管道读取数据
- C++和Python之间的数据损坏管道
- 通过命名管道发送数据结构
- 在 Python 和 C++ 之间管道二进制数据
- 如何判断管道上是否有新数据
- 如何在Linux上的c++中将数据管道到bzip2中并从其标准输出中获得结果数据?