• 7448阅读
  • 7回复

[提问]将二进制的文件读取出来转换成十进制等类型的数据 [复制链接]

上一主题 下一主题
离线ch910926
 

只看楼主 倒序阅读 楼主  发表于: 2012-12-02
打个比方   我在.dat文件里存入了很多个数据(每个数据都以一个结构的形式存入的,比如网格数据,一个X坐标,一个y坐标)。现在想把这些数据一个个的以十进制的类型读出来,该怎么办
离线XChinux

只看该作者 1楼 发表于: 2012-12-02
有问题吗,原来怎样写进去的,正怎么读出来。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线ch910926

只看该作者 2楼 发表于: 2012-12-02
引用第1楼XChinux于2012-12-02 18:46发表的  :
有问题吗,原来怎样写进去的,正怎么读出来。



额, 比如我分别将unsigned long 和unsigned short类型的1 和 0存进 二进制二进制文件。。
我想以unsigned long 和unsigned short类型读出来该咋办啊  ?比如这种类型的存进去  但是这样输出不行啊  输出的是不是正确的数据
离线彩阳

只看该作者 3楼 发表于: 2012-12-02
设置一下对齐方式,用
#pragma pack( push, 1 )
struct RecordType{……};
#pragma pack( pop )
看看。
上海Qt开发联盟,热忱地欢迎你的加入!
离线roywillow

只看该作者 4楼 发表于: 2012-12-02
回 2楼(ch910926) 的帖子
话说那个struct的size真的是6么,要不要用sizeof来确认一下需要读取的量?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线jdwx

只看该作者 5楼 发表于: 2012-12-03
话说是怎么写进文件里的呢?
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线ch910926

只看该作者 6楼 发表于: 2012-12-04
引用第5楼jdwx于2012-12-03 14:14发表的  :
话说是怎么写进文件里的呢?

额   C写进去的  fwrite。。。
离线ch910926

只看该作者 7楼 发表于: 2012-12-04
Re:回 2楼(ch910926) 的帖子
引用第4楼roywillow于2012-12-02 22:47发表的 回 2楼(ch910926) 的帖子 :
话说那个struct的size真的是6么,要不要用sizeof来确认一下需要读取的量?


无奈。。。struct的size居然是8,我忘了结构体要补全了。。。一直以为其他地方错了  现在已经解决  谢谢。。
快速回复
限100 字节
 
上一个 下一个