| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 882 人关注过本帖
标题:求助:二进制文件读取
只看楼主 加入收藏
xipho_orchid
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-6-10
收藏
 问题点数:0 回复次数:6 
求助:二进制文件读取
二进制文件读取
各位大虾:
我有一个二进制文件,知道其中的部分数据结构,并且我只需要这部分的数据,请问怎么读出并以文本文件保存。
1、这个二进制文件包含了数十种文件记录,但每个记录都有一个共性:以STX(ASC码为0x02h)开始并以ETX(ASC码为0x03h)结束;
2、每种记录以特殊的标记表示记录开始,我所熟知的这种记录以0x44h开始。
该二进制文件的结构示意图如下(红色表示我所关心的数据):
n种数据记录+4个字节(表示我关心的记录的大小)+记录开始码(0x02h)+我关心的数据记录开始码(0x44h)+数据结构(循环n次)+记录结束码(0x03h);


我所关心的数据结构为:
struct rawdata
{unsign short  PingCount
unsign short  Heading
unsign short  SoundVelocity
unsign short  DepthOfDucer
unsign char   NumOfbeams
unsign char   NumValbeams
unsign char   ResOfDepth
unsign char   ResOfDistance
unsign chort  SampleRate

//一下结构需循环N次
short         Depth[N]
short         AcrossTrack[N]
short         AlongTrack[N]
short         BeamAngle[N]
unsign short  BeamAzimuth[N]
unsign short  Range[N]
unsign char   QualFactor[N]
unsign char   NumOfBeam
};
其中N由NumValbeams决定。
搜索更多相关主题的帖子: 二进制 文件 
2010-07-06 19:16
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
不明白,你已经知道了具体的数据结构直接读进来处理不就成了??

把整个数据结构对象的指针作为基指针,加上不要的数据结构的大小,获得所需要数据结构的指针,用此指针遍历结构成员。写入目标文件。

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-07-07 09:15
xipho_orchid
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-6-10
收藏
得分:0 
谢楼上,
我所知道的这部分数据结构在这个二进制文件的中间,我不知道如何定位这部分数据,请指点!谢谢!
2010-07-07 11:57
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
把你的文件贴上来一份。俺瞧瞧。

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-07-07 16:23
xipho_orchid
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-6-10
收藏
得分:0 
文件比较大,不方便贴上来。可以知道您的联系方式吗?QQ?谢谢!
2010-07-07 17:09
xipho_orchid
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-6-10
收藏
得分:0 
由于原始二进制文件采用了一种较为节省的方式存储数据,其数据结构是变化的,具体的有参数N控制。
2010-07-07 17:11
xipho_orchid
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-6-10
收藏
得分:0 
我的qq:844436957
2010-07-07 17:13
快速回复:求助:二进制文件读取
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016304 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved