将长路径名读取为包含许多正斜杠的字符串

时间:2016-07-01 09:13:14

标签: fortran

我有一个文件filenames.dat,其中包含以下条目:

../Data/physionetdata/patient0006_s0022_lre/s0022lre.dat
../Data/physionetdata/patient0006_s0027_lre/s0027lre.dat

我想在变量filename中逐个使用do循环读取这些条目。所以我尝试了这个:

open(unit = 1, file = 'filenames.dat')

do i = 1, 10
    read(1,*)filename
enddo

但是,Fortran在第一个正斜杠(/)处停止,这使我无法将文件路径存储在变量filename中。我怎样才能阅读完整的路径?

1 个答案:

答案 0 :(得分:0)

使用newunit语句中的open说明符来避免令人讨厌的冲突。手动设置连接的文件单元非常容易出错,并且难以在较大的程序中维护。

从您的文件中读取:

  integer :: u 
  open (newunit=u, file='filenames.dat', status='old') 

  do i = 1,10    
     read (u,'(a)') filenames 
  end do

  close (u)