Fortran运行时错误:列表输入的第1项中的实数错误
我收到运行时错误:Fortran运行时错误:列表输入的第1项中的实数错误,fortran,gfortran,fortran77,Fortran,Gfortran,Fortran77,我收到运行时错误:此示例问题的列表输入的第1项中存在错误的实数。请建议正确的方法 implicit double precision (a-h,o-x) parameter (ni=150) dimension x(ni) open(40,file='fortin') do 80 i=1,5 read(40,*)x(i) write(*,*)i,x(i) 80 continue stop end fortin文件中的
此示例问题的列表输入的第1项中存在错误的实数。请建议正确的方法
implicit double precision (a-h,o-x)
parameter (ni=150)
dimension x(ni)
open(40,file='fortin')
do 80 i=1,5
read(40,*)x(i)
write(*,*)i,x(i)
80 continue
stop
end
fortin
文件中的数据按列排列
1.0
5.0
3.0
5.0
7.0
您的代码只需要数字,文件中似乎有字符。要解决此问题,可以执行以下两种操作之一:
删除fortin
文件顶部的单词
在循环之前添加一个read(*,*)
(不需要任何后续内容)
在我的例子中,问题在于数据文件,而不是代码
我的问题是文件是Unicode格式的。当我在vi中查看时,它显示得很好。但当我在不支持unicode的查看器中查看时,例如使用midnight commander,它看起来像一团乱。给我发送文件的人后来告诉我,他将文件保存在UTF-16中。在“fortin”的顶部没有单词,(ii)read(,)没有从文件中读取值。我建议使用status='old'打开,以防出现路径问题,甚至没有打开您认为的文件。当我在fortin
顶部有字符时,我会收到您提到的确切错误。当我删除这些字符(并保持空白行)时,我不会出错,数据读得很好。问题当然是你的文件。谢谢Kyle Kanos和George的帮助。好吧,当我重新创建文件时,问题消失了。这是输入文件的问题,凯尔是对的!。谢谢