我最近学习了如何在 Fortran 中使用基本文件 我认为它很简单:
open(unit=10,file="data.dat")
read(10,*) some_variable, somevar2
close(10)
所以我不明白为什么我写的这个函数不起作用。 它编译得很好,但是当我运行它时它会打印:
fortran runtime error:end of file
代码:
Function Load_Names()
character(len=30) :: Staff_Name(65)
integer :: i = 1
open(unit=10, file="Staff_Names.txt")
do while(i < 65)
read(10,*) Staff_Name(i)
print*, Staff_Name(i)
i = i + 1
end do
close(10)
end Function Load_Names
我正在使用 Fortran 2008 和 gfortran。
最佳答案
您报告的错误的常见原因是程序找不到它尝试打开的文件。有时,您对程序在运行时查找文件的目录的假设是错误的。
尝试:
- 在
open
语句中使用err=
选项编写代码来妥善处理丢失的文件;如果没有这个,程序就会崩溃,正如您所观察到的;
或
- 使用
inquire
语句来确定程序正在查找的位置是否存在该文件。
关于runtime - 获取 Fortran 运行时错误 : end of file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22584283/