Qt数据序列化的问题,很奇怪,希望有人帮我看下~

B_Allen 2014-10-29 04:54:28


(可以看出反序列化,也就是读取数据,从43开始,数据出错了,很奇怪)

cParts 是一个QList,我直接使用的QDataStream 去序列化的cParts变量,count为342。
输出到文件的时候,所有数据都是正确的,但是读取的时候前42个正确,43就错了。
求大神帮我分析一下问题所在,我该如何处理这个问题呢。

其实这个问题在我这个程序里好几个地方出现了,数据出错但是没有影响数据的格式,所以后面的QString或者其他类型的数据也是正确的,然后到了QList 又出现这样的错误…可是之前的QList也有完全正确的输出输入的。

因为是个项目,所以代码较多,需要看什么样的我再给你们传,谢谢大神们,小弟给你们跪了…
...全文
758 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
B_Allen 2014-12-09
  • 打赏
  • 举报
回复
引用 3 楼 soso101 的回复:
读写这部分的代码放上来吧
谢谢我已经解决问题了,看楼上回复。
B_Allen 2014-12-09
  • 打赏
  • 举报
回复
引用 4 楼 mrplplplpl 的回复:
楼主把相关代码贴上来吧。 我的QT版本是5.2.1的,在QDataStream 的帮助文档中,QDataStream不支持序列化QList。 但在QList的帮助文档中, 却出现了支持序列化的函数。
谢谢,我已经解决问题了,虽然目前不知道错误原因是什么。 我对所有序列化的基础类型加上了例如(double)的强制转换,写入和读出时都加了,就好了。
mrplplplpl 2014-11-06
  • 打赏
  • 举报
回复
楼主把相关代码贴上来吧。 我的QT版本是5.2.1的,在QDataStream 的帮助文档中,QDataStream不支持序列化QList。 但在QList的帮助文档中, 却出现了支持序列化的函数。
B_Allen 2014-11-05
  • 打赏
  • 举报
回复
再顶一下…问题还是没有解决
蜗牛sf 2014-11-05
  • 打赏
  • 举报
回复
读写这部分的代码放上来吧
B_Allen 2014-10-30
  • 打赏
  • 举报
回复
如果有人也碰到这样的问题可以一起来讨论下啊~

16,211

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧