QDataStream中 << 和 >> 输入输出重载的理解

今天在看文件传输时,采用QDataStream对文件信息进行二进制序列化传输,比如文件的大小,文件名等信息,有些操作有点懵,有点看不懂。因为不怎么用过QDataStream,记录一下

        那两个序列化的qint64(0),看了半天,不知道是干嘛的,刚看时搞懵我了,也是我不懂的原因吧 

 后面终于看懂了,画图记录理解一下;

如下图所示

 senout就相当于一个二进制系列化的队列

 如果继续<<输入的话,就会默认往后加;

想要加入指定位置的话呢,就要进行调用seek函数,移动到指定位置,seek(0)表示头部,依次类推;

如 sendOut.device()->seek(0); 就表示获取当前设备,将指针移动到指定位置。以便后续指定位置的插入等操作。注意:插入的数据,会覆盖当前要插入位置的数据

所以进行这步后,在插入数据,就要从头开始了,如下所示

 输入是这样子,输入也是这样子的

 就不画图了,对比上面的图就行了,只不过反过来而已。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值