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



当我尝试读取带有以下代码示例的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. 以10或更大的单位号为单位,1可能由默认I/O
  2. 之类的东西采取。
  3. 使用 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
    

最新更新