• 5039阅读
  • 2回复

[提问]关于在文件流取去数据的问题! [复制链接]

上一主题 下一主题
离线yjdabc
 

只看楼主 倒序阅读 楼主  发表于: 2011-07-21
我将一个类序列化后保存在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找了好久也没有解决,请大家看看,我该怎么做!
离线roywillow

只看该作者 1楼 发表于: 2011-07-21
不清楚你这个size是怎么获得的
image的大小跟实际往文件中写入的大小还是有区别的
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线yjdabc

只看该作者 2楼 发表于: 2011-07-21
size 用FileInof这个类的size()方法得到

在读取是,我用fileIn->seek(487521)方法测试过,是可以读出第二图片信息的!
快速回复
限100 字节
 
上一个 下一个