本文介绍了std :: ostream到QDataStream的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我为MyClass重载了<<'运算符。
I have overloaded '<<' operator for MyClass.
friend std::ostream& operator << (std::ostream& out, const MyClass& Obj);
现在我想将std :: ostream转换为QDataStream,而不是将MyClass转换为QDataStream。
Now I want to convert std::ostream to QDataStream rather than converting MyClass to QDataStream.
friend QDataStream operator << (QDataStream& out, std:ostream&);
这样的。
您的帮助将不胜感激。
Something like this.Your help will be appreciated.
推荐答案
您不能将一个转换成另一个。但您可以使用 QBuffer
作为解决方法。它是一个 QIODevice
,所以你可以从它创建一个 QDataStream
。完成写入数据后,从缓冲区中获取 QByteArray
,并使用其数据写入 std :: ostream
。
You can't just convert one into the other. But you can use QBuffer
as a workaround. It is a QIODevice
, so you can create a QDataStream
from it. When done writing your data, get the QByteArray
from the buffer and use its data to write to your std::ostream
.
这篇关于std :: ostream到QDataStream的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!