当用Fortran写入数据时,我理解在数据之前和之后写入4字节“记录”。通常我已经知道我在读什么,所以我就把它扔掉。然而,这些记录中是否包含任何信息呢?是否可以从4字节记录信息中获取记录后面的数据的数据类型和计数?
您很可能指的是“二进制”,access="sequential", form="unformatted"但 Fortran 还可以执行其他类型的访问,即direct和stream。
首先,您在每个语句中保存的数据write是“记录”。Fortran编译器自己编写的是“记录标记”。它表示下一条数据记录在哪里。
通常,Fortran 会将记录的长度写入记录标记。为什么?因为访问是顺序的,从一个记录到另一个记录。当您读取下一条记录时,编译器需要知道它从哪里开始。或者当你回去使用backspace.
请注意,记录标记并不总是 4 字节长。这仅足以满足 4GB 以下的记录。您当然还会遇到 8 字节记录标记。实际的格式取决于编译器并且没有标准化。