File io fortran90中是否有指定字节的数据读取功能

File io fortran90中是否有指定字节的数据读取功能,file-io,binary,fortran,fortran90,File Io,Binary,Fortran,Fortran90,我遇到了一个问题,需要从二进制输入文件中读取指定字节的数据,比如在文件开头的40000字节处读取。我打算直接访问文件。但这需要将每个段划分为参数recl中指定的相同大小。有人能提供可行的解决方案吗?一些编程语言(如c)提供可以跳转到指定字节的函数。Fortran 2003标准引入了无格式流访问,基本上就是为了实现这一点。文件正确打开后,您可以在相关的write语句中使用POS说明符。对Fortran 2003功能的支持在积极支持的Fortran编译器中相当普遍。编译器需要使用一个字节的文件存储单

我遇到了一个问题,需要从二进制输入文件中读取指定字节的数据,比如在文件开头的40000字节处读取。我打算直接访问文件。但这需要将每个段划分为参数
recl
中指定的相同大小。有人能提供可行的解决方案吗?一些编程语言(如c)提供可以跳转到指定字节的函数。

Fortran 2003标准引入了无格式流访问,基本上就是为了实现这一点。文件正确打开后,您可以在相关的write语句中使用POS说明符。对Fortran 2003功能的支持在积极支持的Fortran编译器中相当普遍。编译器需要使用一个字节的文件存储单元,但我知道的所有编译器都会这样做(这也是标准建议的)


否则,最接近的标准Fortran 90方法是使用无格式直接访问,记录长度是要读取的数据元素的所需位置和大小的合理公因数。例如,如果您正在从文件中读取8字节的实数,那么记录长度为8可能有效-您将从记录编号5000开始读取。这要求Fortran处理器的文件存储单元为字节(通用,可能带有编译选项),并且文件中不存在用于无格式直接访问的记录分隔符或类似分隔符(大多数情况下,也可能带有编译选项)。

您能展示Fortran 2003标准实现的某些部分吗?