爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2696|回复: 1

[求助] VS2010 fortran顺序读写二进制文件数据,数据前后多东西

[复制链接]

新浪微博达人勋

发表于 2017-1-5 20:08:50 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 小鑫 于 2017-1-5 20:22 编辑

向各位大神求助:
     本人使用Microsoft Visual Studio 2010编译器编写fortran程序,现在需要将FLUENT软件的二进制结果文件导入到程序中去。发现flunt的dat文件中是说明性的字符串数据和压力、速度等实数组型的数据一个挨一个顺序保存的的。但在VS编译器下,fortran程序采用unformat顺序读取二进制文件的时候,在对应的数据前后都多出至少4个字节的数据,导致无法顺利读入fluent软件生成的二进制结果文件。
我采用简单的程序进行测试:
!******************************************************************************
PROGRAM test
!  GTEA Solver
!******************************************************************************
IMPLICIT none
CHARACTER(len=3) :: main_version, sub_version
CHARACTER(len=7)  ::  version
OPEN(11,form='unformatted',status='unknown',file='1.dat')
main_version='dbx'
sub_version='jll'
version='gtea202'
WRITE(11) main_version,sub_version,version
CLOSE(11)
OPEN(11,form='unformatted',status='unknown',file=''1.dat')
READ(11) main_version,sub_version,version
CLOSE(11)
END PROGRAM test
发现采用fortran编程写和读二进制文件,此时可以顺利读取
但结果文件中在'dbxjllgtea202'字符串的前后都多出了4个字符的数据0D 00 00 00 与我字符串所占长度13相同。也发现这正是我无法正确读取fluent结果文件的原因
2.png

fluent的结果文件,其数据是一个接一个连续存储,数据之间没有什么多余文件

fluent的结果文件,其数据是一个接一个连续存储,数据之间没有什么多余文件

fluent结果文件中的字符串型说明性数据和其他数据(实数组)是依次顺序排列的,两者之间没有什么其他字符
如何才能使用fortran程序直接读取这些文件而不需要什么0D 00 00 00 的字符?
求大神指点!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-1-6 10:44:26 | 显示全部楼层
本帖最后由 小鑫 于 2017-1-6 10:49 编辑

FLUENT软件生成的结果文件可以以文本形式或二进制形式输出,文本形式的结果文件比二进制大太多,因此我需要读FLUENT软件生成的二进制文件。

fluent文本形式的dat数据

fluent文本形式的dat数据
  
上面这是fluent生成的文本形式结果文件,我已经通过编写fortran程序将其数据正确读到我的主程序里来

fluent文本形式的dat数据以二进制形式表示

fluent文本形式的dat数据以二进制形式表示

为了同fluent生成的二进制形式结果文件比较,上面图片是文本结果文件通过Ultra软件识别成二进制码(16进制码)的截图
下图是fluent生成的二进制形式结果文件的二进制码(16进制码)的截图

fluent二进制形式的dat数据

fluent二进制形式的dat数据

两者之间数据是完全对应的,但保存形式让我摸不清头脑,求大神帮我看看,提提建议!谢谢了!

密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表