我有一个二进制文件,我想用 Fortran 读取。问题是它不是由 Fortran 编写的,所以它没有记录长度指示符。所以通常的未格式化的 Fortran 读取将不起作用。
我有一个想法,我可能会偷偷摸摸地将文件作为格式化文件逐字节(或 4 字节乘 4 字节,实际上)读取到字符数组中,然后将字符的内容转换为整数并通过浮点数传递函数或可怕的等价语句。但这不起作用:我尝试一次读取 4 个字节,并且根据inquire
语句的 POS 输出,读取跳过了大约 6000 个字节,并且字符数组加载了垃圾。
所以这是不行的。我忘记了这种方法中有一些细节吗?或者在 Fortran 中是否有一种完全不同且更好的方法来做到这一点?(顺便说一句,我也尝试读入一个integer*1
数组和一个字节数组。即使这些代码可以编译,但当涉及到 read 语句时,代码崩溃了。)