У меня есть один QIODevice
, который получает данные из неопределенного источника. Что я хочу сделать, это «Дамп» всех данных в файл, отправляемый с QIODevice
, но если я прочитаю, то другой обработчик, зависящий от исходных данных, изменится.Данные по трубопроводам QIODevice
В основном то, что я хочу
void piping(QIODevice* Data)
{
if (outgoingData)
{
qDebug()<<Data->readAll();
}
// gets nothing as readAll has already consumed all data
dependentOn(Data);
}
функция dependentOn
не определяется мной, поэтому я не могу изменить его определение.
Вы можете попробовать сохранить позицию, чтение, а затем стремится вернуться к сохраненной позиции. Действительно зависит от типа устройства. Вы можете пересмотреть свой дизайн, чтобы прочитать данные и передать массив байтов всем, кто его интересует. –
Да, но проблема заключается в обработке последовательного устройства, например: socket, я даже не могу его эмулировать, 'dependOn' не определяется мной, поэтому я не могу изменить его определение. – m61566
[QBuffer] (http://doc.qt.io/qt-5/qbuffer.html) может работать. –