关于在文件流取去数据的问题!

yjdabc 2011-07-21 03:49:24
我将一个类序列化后保存在a.xx这个文件中,同时将二张图片的信息也保存到这个文件中,
代码如下:
myDataStream<<myclass;
myDataStream<<image1;
myDataStream<<image2;

a.xx保存成功,没有问题;

我读取数据代码如下,也没有问题!
in >> myclass;
in >> image1;
in >> image2;

未来a.xx会保存大量的图片数据,我需要能快速读到某张图片信息,不能按顺序读取,
在myclass中保持了每张图片的size(),我找到skipRawData(int len)这个方法,
测试代码如下:
in >> myclass;
skipRawData(487521); //in >> image1;
in >> image2;

487521是image1的size(),也就是在读取myclass类信息后,直接读image2的信息,但没有成功,
在Google找了好久也没有解决,请大家看看,我该怎么做!
...全文
101 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjdabc 2011-07-28
  • 打赏
  • 举报
回复
已经解决,过程很复杂,谢谢大家的帮助!
zhh_kv 2011-07-27
  • 打赏
  • 举报
回复
建议:自定义文件格式,比如【image-start-flag】+【imagename】+【imagesize】+【imagecontent】+【image-end-flag】
mfc11 2011-07-27
  • 打赏
  • 举报
回复
很可能不是“487521”这么大,比如用malloc分配一个10大小的空间,但是在内存中它不止10个字节,还分配了几个字节的空间来维护内存中的数据结构。

16,216

社区成员

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

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