2014-07-16 5 views
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) 

그것을 읽으려고하고이

C:/folder1/folder2/folder3 
20.0 
22.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