FORTRAN 90打开文件问题

时间:2013-04-09 18:44:34

标签: file-io fortran90

我一直在寻找这段代码很长时间,似乎无法找到这个不起作用的原因......也许外人的看法可以提供帮助。

!I open File 1

!Opening File 1
open(2, File='File1.txt',status='old')
read(2,*)!File 1 header

PRINT*,'File1.txt read' 

!Read it

DO b=1,nb
  DO i=1,ni(b)          
       READ(2,*)dum(b,i),Qr(1,xbu(b),i),hr(1,xbu(b),i),Ar(1,xbu(b),i),Pr(1,xbu(b),i),dx(xbu(b),i),sx(xbu(b),i)
  END DO
END DO

没关系。我已经打印过了,它就在那里。但是当我转到文件2时,做同样的事情:

PRINT*,'Reading File 2 '
open(3, File='File2.txt',status='old')    !<- It stays here forever.
PRINT*,'File2.txt read'

这些文件是普通的txt,具有像这样的实际值

文件1:

11  0   0   0   0   6500    1.2

文件2

11  0.00    0.00    0.00    0.0

关于什么可能导致相同代码第二次失败的想法?

1 个答案:

答案 0 :(得分:1)

你应该在那里抛出一些错误检查,试试

open(3, File='File2.txt',status='old',iostat=io_status, err=100)

某处放

100 write(*,*) 'io status = ', io_status
stop

我还建议编写一个函数来检查第一个可用的fortran单元号而不是硬编码,例如getting free unit number in fortran