Fortran Coder

查看: 14908|回复: 6
打印 上一主题 下一主题

[文件读写] 关于二进制文件读取

[复制链接]

130

帖子

10

主题

0

精华

大师

F 币
617 元
贡献
372 点

贡献勋章管理勋章帅哥勋章元老勋章星光勋章规矩勋章

楼主
发表于 2017-9-2 15:44:13 | 显示全部楼层
wxy 发表于 2017-9-2 12:21
还想请教一下,我在读取32位数据时可以491*411全部读出来,但换成16位格式数据时
只读取出一半,而且读取 ...

1. 16位格式数据, 2-Byte INTEGER? 請試試
    INTEGER, PARAMETER :: ibyte2 = SELECTED_INT_KIND(r= 4) !  2-Byte INTEGER
    INTEGER(KIND=ibyte2) :: grid(mcol,mrow)

2. DIRECT/STREAM access, 不保證完全相容, 也可能compiler dependent

3.  图一是二进制文件的基本属性,这是一个491*411的格点数据,我在读取时只读到1*411就end of file
    open(7,file='xd10kmlr1.bil',form="unformatted",access='direct',recl=mcol*4,iostat=status)
-> open(7,file='xd10kmlr1.bil',form="unformatted",access='direct',REAL=4,iostat=status) ! 4-byte
-> open(7,file='xd10kmlr1.bil',form="unformatted",access='direct',RECL=1,iostat=status) ! one "4-byte" data
    RECL=?, compiler dependent

您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-2 22:47

Powered by Tencent X3.4

© 2013-2024 Tencent

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