如何使用.csv数据创建多个记录的直接访问,未格式化的二进制文件?

Aar*_*ron 1 fortran

有没有人有任何关于如何使用FORTRAN(或任何其他允许你编写二进制文件的语言)创建带有来自.csv数据的多条记录的无格式直接访问二进制文件的指针?希望问题很简单,不需要示例代码.也不一定是.csv.我只需要一种将分隔文本文档转换为具有多个记录的直接访问,无格式二进制文件的通用方法.

干杯,亚伦

har*_*dkl 5

您只需将格式化的IO读入数组,然后再使用未格式化的直接访问即可将其写入.

像这样:

program test
  implicit none

  integer :: dat(3)
  integer :: rl

  open(file="data.csv", unit=23, action="read", status="old")

  read(23,*) dat

  close(23)

  inquire(iolength=rl) dat
  open(file="data.bin", unit=24, action="write", status="replace", &
    &  form="unformatted", access="direct", recl=rl)
  write(24,rec=1) dat
  close(24)

end program test
Run Code Online (Sandbox Code Playgroud)

这将读取文件data.csv中的3个值,这些值可能如下所示:1,2,3并将其以二进制形式写入文件data.bin.