从数据文件中读取的文件路径

时间:2014-07-16 18:33:54

标签: fortran filepath

我正在尝试从fortran中的数据文件中读取未知长度的文件路径。有一个简单的方法吗?

数据文件就像这样

C:/folder1/folder2/folder3
20.0
22.0

我正在尝试用

阅读它
character(len=100) :: filepath
real :: a, b
open(unit=1,filename='file.dat',status='unknown')
read(1,*) filepath
read(1,10) a
read(1,10) b

10 format(e20.8)

所以,这远远没有奏效。

1 个答案:

答案 0 :(得分:0)

有几件事:

  • 您需要指定file=
  • 读入一个字符串:read(1,'(a)'),否则/将被解释为记录标记
  • 不要使用低于~100的单位数,尤其是低于10的单位数通常使用,例如对于STDIN / STDOUT(高度依赖编译器)。如果可能,请使用newunit=unit语句(Fortran 2008)。

这对我有用:

program test
  implicit none
  character(len=100) :: filepath
  real :: a, b
  open(unit=1000,file='file.dat',status='unknown')
  read(1000,'(a)') filepath
  read(1000,'(e20.8)') a
  read(1000,'(e20.8)') b

  print *,filepath, a, b

end program
$ ./a.out 
C:/folder1/folder2/folder3 20.0000000 22.0000000