首页 文章

Fortran运行时错误:文件结束

提问于
浏览
1

我试图理解READ语句在Fortran中是如何工作的 . 为此,我编写了以下简单程序:

program main 
integer a,b,c

open(unit=10,file='test.txt',status='old')
read(10,*)a,b,c
print*,a,b,c
close(10)
end program main

我在终端上运行它(使用Mac):gfortran Main.f95;打开a.out

我收到以下错误:文件Main.f95的第5行(unit = 10,file ='test.txt')Fortran运行时错误:文件结束

我在网络上寻找解决方案,并在READ说明符中添加了IOSTAT = ...的建议,如下所示:

program main 
integer a,b,c,IOstatus

open(unit=10,file='test.txt',status='old')
read(10,*,IOstat=IOstatus)a,b,c
print*,a,b,c,IOstatus
close(10)
end program main

当我这样做时,程序运行成功 . 但是,打印命令显示“2 0 1 -1”,这是错误的,因为test.txt文件包含“1,2,3” .

我试过在这里和那里调整一些东西,但没有好处 . 我正在尝试做一些(我认为)应该非常简单的事情:从.txt文件中读取整数列表 . 任何关于我做错的帮助都会非常感激 .

1 回答

  • 2

    我认为您的问题与 text.txt 文件而不是Fortran代码有关 . 尝试在其中添加行尾字符(输入) . 我已经使用gfortran 5.4成功运行了原始代码 .

    有关详细信息,请参阅this相关帖子 .

相关问题