Fortran Coder

查看: 11866|回复: 5
打印 上一主题 下一主题

[文件读写] 关于二进制文件读写的问题

[复制链接]

3

帖子

1

主题

0

精华

新人

F 币
18 元
贡献
9 点
跳转到指定楼层
楼主
发表于 2020-12-22 11:06:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问各位大神个关于二进制文件的问题。windows系统,编译器,vs 2019 + intel fortran 2019

代码如下
[Fortran] 纯文本查看 复制代码
    program Console1

    implicit none
    integer :: a=1

    open(10, file='file.bin', form='unformatted')
    write(10) a
    close(10)

    end program Console1

输出的文件是12bit,用UE打开是
04 00 01 00 04 00

为什么会这样呢?a是4位整数,按道理输出文件是不是也应该只有4bit大小呢?
加入有换行符,CR LF,也就最后加2位吧,为什么结果是12位呢?
另外文件内容为什么首尾都是 04 00 呢?

请各位大佬不吝赐教,谢谢
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

54

帖子

0

主题

0

精华

实习版主

F 币
653 元
贡献
214 点

元老勋章新人勋章

QQ
沙发
发表于 2020-12-22 11:29:35 | 只看该作者
站内有文章专门介绍哟~
http://fcode.cn/guide-4-1.html

建议用这种较新的方法来读写二进制文件:
http://fcode.cn/guide-86-1.html

3

帖子

1

主题

0

精华

新人

F 币
18 元
贡献
9 点
板凳
 楼主| 发表于 2020-12-22 14:10:12 | 只看该作者
布衣龙共 发表于 2020-12-22 11:29
站内有文章专门介绍哟~
http://fcode.cn/guide-4-1.html

收到,非常感谢

54

帖子

0

主题

0

精华

实习版主

F 币
653 元
贡献
214 点

元老勋章新人勋章

QQ
地板
发表于 2020-12-22 14:37:52 | 只看该作者
如果你想了解顺序读写二进制方式,也可以看视频教程
http://v.fcode.cn/video-file_io_binary.html

3

帖子

1

主题

0

精华

新人

F 币
18 元
贡献
9 点
5#
 楼主| 发表于 2020-12-22 14:41:35 | 只看该作者
布衣龙共 发表于 2020-12-22 11:29
站内有文章专门介绍哟~
http://fcode.cn/guide-4-1.html

刚才试了一下,觉得大致是这样的,如果不指定rec,二进制前后都会多输出4位,感觉是用来表示中间存储的信息的位数的,仅此而已。

54

帖子

0

主题

0

精华

实习版主

F 币
653 元
贡献
214 点

元老勋章新人勋章

QQ
6#
发表于 2020-12-22 17:15:02 | 只看该作者
区别在于是“顺序读写”还是“直接读写”
顺序读写会添加两边的大小,直接读写不会。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-12-26 09:00

Powered by Tencent X3.4

© 2013-2024 Tencent

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