Fortran Coder

查看: 10171|回复: 7
打印 上一主题 下一主题

[文件读写] Fortran用stream流读取二进制文件问题

[复制链接]

10

帖子

3

主题

0

精华

入门

F 币
67 元
贡献
43 点
QQ
跳转到指定楼层
楼主
发表于 2015-7-30 18:23:50 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
第一次在fcode发帖,初学fortran,如有不足请指教。
现有两个文件内容都是一样的,一个是有格式文件(*.FGRID)一个是无格式二进制文件(*.GRID),其中有格式文件我用Editplus打开,内容如下:

'DIMENS  '           3 'INTE'
          10          10          25

无格式二进制文件,我想用Fortran的stream流打开,但是未能得到跟上边同样的结果,运行后我得到结果是:

DIMENS      50331648 INTE
   268435456   201326592   167772160


主要是我要的整数 3 10 10 25 这几个数怎么一下变得那么大了呢? 不明白,怎么解决呢?!
请大牛指教啊》》》》》》》》》》》》》》》》
百思不得其解,我的fortran代码如下:
[Fortran] 纯文本查看 复制代码
Program www_fcode_cn
  Use, Intrinsic :: ISO_C_BINDING      !// 使用内部模块,保持与 C 语言变量类型一致
  Implicit None
  character(len=4) :: flag0             !// 4字节
  character(len=8) :: flag1             !// 8字节
  character(len=4) :: dtype             !// 数据类型
  integer*4 :: i,j,k
  integer*4 :: ii,jj,kk
  Open( 12 , File = "INJECTWATER_FORWUNAN.GRID" , access="stream" , form = "unformatted" )
  Read( 12 ) flag0,flag1,i,dtype
  Write( * , * ) flag1,i,dtype
  Read( 12 ) ii,jj,kk
  Write( * , * ) ii,jj,kk
 !  Inquire( 12 , Pos = i )
 !  Write( * , * ) i
  Close( 12 )
 End Program www_fcode_cn

以上为我的代码,是哪个地方出问题了呢?! 望求解,谢谢。



分享到:  微信微信
收藏收藏1 点赞点赞 点踩点踩

10

帖子

3

主题

0

精华

入门

F 币
67 元
贡献
43 点
QQ
沙发
 楼主| 发表于 2015-7-30 20:01:08 | 显示全部楼层

共两个文件,见压缩包。

10

帖子

3

主题

0

精华

入门

F 币
67 元
贡献
43 点
QQ
板凳
 楼主| 发表于 2015-7-30 20:04:11 | 显示全部楼层

Grid.rar (164.33 KB, 下载次数: 21) ,见压缩包,谢谢。

10

帖子

3

主题

0

精华

入门

F 币
67 元
贡献
43 点
QQ
地板
 楼主| 发表于 2015-7-30 23:31:48 来自移动端 | 显示全部楼层
非常感谢fcode的耐心解答,明天我试一下。

10

帖子

3

主题

0

精华

入门

F 币
67 元
贡献
43 点
QQ
5#
 楼主| 发表于 2015-7-31 09:28:38 | 显示全部楼层
fcode 发表于 2015-7-30 22:19
您的问题有两个:
1.您的数据是一个无格式顺序文件。所以如果你要用 stream 读取,需要在每个 read 前后各 ...

fcode你好,感谢你的解答,用了你给我的代码,问题已解决,以后有不懂还得向你请教,太感谢了!
我现在用simply fortran,非常感谢论坛。

10

帖子

3

主题

0

精华

入门

F 币
67 元
贡献
43 点
QQ
6#
 楼主| 发表于 2018-11-13 11:21:23 | 显示全部楼层
回顾当年的问答,现在依然获益匪浅!!!
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-16 09:10

Powered by Tencent X3.4

© 2013-2024 Tencent

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