Fortran无法读取其他程序创建的txt文件

时间:2017-09-03 23:52:58

标签: fortran

当我尝试使用以下代码示例读取txt文件时:

double precision inp(100)
open(1,file='whatever.txt')
do i=1,100
read(1,*) inp(i)
enddo
close(1)

程序刚到达读句时就结束了。我尝试了其他方法来编写循环,比如

do
read(1,*) inp
enddo

但它是一样的。有趣的是,如果我用fortran或手写一个txt然后我尝试阅读它,它的工作原理!!

我绝望,拜托,帮助我。

1 个答案:

答案 0 :(得分:0)

以下是一些想法:

  1. 取一个10或更大的单位数,1可能是默认的i / o
  2. 使用iostatiomsg找出读取失败的原因:

    integer :: iostat
    character(len=100) :: iomsg
    
    read(unit=u, fmt=*, iostat=iostat, iomsg=iomsg) inp(i)
    if (iostat /= 0) then
        print *, "Error reading inp"
        print *, "i was ", i
        print *, "Error was: ", trim(iomsg)
    end if