Fortran Coder

查看: 352|回复: 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 呢?

请各位大佬不吝赐教,谢谢
回复

使用道具 举报

7

帖子

0

主题

0

精华

专家

F 币
456 元
贡献
113 点

元老勋章

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

收到,非常感谢

7

帖子

0

主题

0

精华

专家

F 币
456 元
贡献
113 点

元老勋章

QQ
发表于 2020-12-22 14:37:52 | 显示全部楼层
如果你想了解顺序读写二进制方式,也可以看视频教程
http://v.fcode.cn/video-file_io_binary.html

3

帖子

1

主题

0

精华

新人

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

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

7

帖子

0

主题

0

精华

专家

F 币
456 元
贡献
113 点

元老勋章

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

本版积分规则

QQ|捐赠本站|Archiver|关于我们 About Us|群聊|Fcode

GMT+8, 2021-1-25 01:45

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

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