【发布时间】:2015-04-09 12:44:05
【问题描述】:
我正在尝试从 Fortran 2003 中的网格文件读取数据,但我遇到了意外的文件结束运行时错误。文件中的某些行似乎被 read 命令跳过了。例如,使用这个 sample.txt 文件:
1 2 2 0 1 1132 1131 1165
2 2 2 0 2 1099 1061 1060
我想从每一行读取第一个整数,所以我的程序是:
program read_file
implicit none
integer :: ierr, i, j
open(unit=10,file='sample.txt',status='old',action='read',iostat=ierr)
read(10,*) i
read(10,*) j
write(*,*) i, j
end program read_file
在运行时,我得到了
Fortran runtime error: End of file
奇怪的是,如果我在文件末尾强制回车,程序会很好地读取这两个整数。
【问题讨论】:
-
嗯,对我有用(
gfortran和ifort)。 -
@AlexanderVogt 我自己也遇到过类似的问题。最后一行必须正确终止。
-
我明白了...我的编辑 (
vim) 为我做这件事 ;-) -
stackoverflow.com/questions/29526117/… 中的问题也可能完全一样。
-
在 Windows 上,我在某些编译器上看到了相同的行为。
标签: fortran