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

时间:2011-08-29 22:04:15

标签: fortran

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

干杯, 亚伦

1 个答案:

答案 0 :(得分: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

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