我想了解READ语句如何在Fortran中工作。要做到这一点,我写了下面的程序: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(单位= 10,文件= '的test.txt') Fortran运行时错误的第5行:文件结束
我已经寻找各地的网络解决方案,并在添加IOSTAT = ...的READ符内的建议来了,如下:
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文件中读取整数列表。对于我做错什么的任何帮助将非常感激。
你使用什么编译器版本?正如你所看到的,我可以用gfortran 5.4 –
成功运行你的初始代码,在这里你所有的'iostat'都可以抑制什么是一个非常明确的错误消息,而是给你一个指示某种读取错误的整数标志'-1'。 – agentp
你确定你的文本文件实际上是一个文本文件?你用什么编辑器? – agentp