Fortran Coder

查看: 15176|回复: 9
打印 上一主题 下一主题

[文件读写] fortran二进制文件读取

[复制链接]

12

帖子

5

主题

0

精华

入门

F 币
72 元
贡献
43 点
跳转到指定楼层
楼主
发表于 2014-10-14 21:53:22 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
我在处理数据过程中,由于数据量较大,数据一般以二进制形式保存。现已知数据十进制的形式。十进制的格式诸如:format (4h 0v ,a8, 1h*, 2a8, 1h*, i6),或者format (4h 5d ,a8 , 1p, 2e12.5/( 2e12.5, 5i6)).求详细方法。
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

12

帖子

5

主题

0

精华

入门

F 币
72 元
贡献
43 点
沙发
 楼主| 发表于 2014-10-24 11:34:42 | 显示全部楼层
fcode 发表于 2014-10-15 08:07
我建议你先不要学习如何写代码,而是先学习一下二进制文件的基础。它是无数据格式的,这一点很重要。

推荐 ...

我在学习你推荐的文章过程中,将271 , 783 , 2.5811919E+3 , 1.6892716E-7 , ABCDEFGHIGKLMNOP写入二进制文件时,为什么显示的和文章中的不一样。

捕获.PNG (8.36 KB, 下载次数: 318)

捕获.PNG

12

帖子

5

主题

0

精华

入门

F 币
72 元
贡献
43 点
板凳
 楼主| 发表于 2014-12-17 16:50:22 | 显示全部楼层
楚香饭 发表于 2014-10-24 22:18
不要重复发帖。

你估计用的是:无格式顺序读取,而文中用的是无格式直接读取。注意  Access = 'Direct'  ...

直接读取的第一个记录与顺序读取时第一个read读取的内容不一致,是不是顺序方式写入的文件不能直接读取?

12

帖子

5

主题

0

精华

入门

F 币
72 元
贡献
43 点
地板
 楼主| 发表于 2014-12-17 17:01:24 | 显示全部楼层
fcode 发表于 2014-12-17 16:56
顺序方式写入的文件里,每个记录前后会多 4 字节,表示该记录的长度。比如你写一个 ABCD 4个数,一共 4*4 = ...

在不知道一个文件是以顺序方式写入还是直接写入时,该文件该怎么读取?或者怎么判读文件是以什么方式写入的?

12

帖子

5

主题

0

精华

入门

F 币
72 元
贡献
43 点
5#
 楼主| 发表于 2015-1-29 22:47:55 | 显示全部楼层
fcode 发表于 2014-12-17 18:54
猜呗。读一个数出来,比如读出来 16,然后数16字节,再读一个数,如果还是16,就可以基本判断这是一个顺序 ...

在读取二进制文件过程中,由于文件是以顺序方式写入的。此时,有什么办法高效的读取任意记录吗?,在这个过程中需要大量读取数据。如果用do i=1,N read(12) end do的方式来定位,会不会浪费时间?
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-16 02:40

Powered by Tencent X3.4

© 2013-2024 Tencent

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