我试图用一些旧的Fortran代码一些新的Java代码在Windows中工作(作为一个exe),但不是在OS X中我尝试建立它在Eclipse中,我得到Fortran I/O,首先读取的是EOF?
make: *** [all] Segmentation fault: 11
所以我去终端做这样的说法,甚至不同的编译器,但仍是同样的结果:
运行OS X 10.7.5和gfortran-4.2标准-c和-o取得 命令
Program foo
open(unit = 1, file = 'variables.txt',IOSTAT= iost)
write(*,*)iost
read(1,*) P
write(*,*)P
...
end program foo
该程序手动构建,但出卖出期权:
0
At line 13 of file Cubic42.f
Fortran runtime error: End of file
我也看到了这个错误:
list in: end of file
apparent state: unit 88 named variables
last format: list io
lately reading sequential formatted external IO
Abort
这表明IOSTAT返回0,这意味着文件是好的? 但它不会读取文件,即使我更改单位#来说,88 ..并且即使我将CR更改为mac,windows或unix。
它似乎只是输入/输出的问题,如果我硬编码变量,例如,该程序的作品。
有关如何解决此问题的任何想法? 在此先感谢。
EDIT1 这里是variables.txt文件
-9999
15.6
500
150.9
48.98
0.000
有在最后一个回车,如果我改变9999不要紧积极
编辑2
我从目录中删除了文本文件,并将.f改为如下所示:
program foo
implicit none
real a, b, c, d
open(unit = 1, file = 'variables.2txt', action='write')
write(1, *) -6666
write(1, *) 6.15
write(1, *) -321
write(1, *) 5.16
close(1)
open(unit = 2, file = 'variables.2txt', action='read',form='FORMATTED')
read(2, *) a
write(*,*) a
read(2, *) b
write(*,*) b
read(2, *) c
write(*,*) c
read(2, *) d
write(*,*) d
close(2)
end program foo
然后我编译它。
输出是:预期
-6666.000
6.150000
-321.0000
5.160000
,但variables.2txt是无处可寻!我很困惑,请帮忙。
编辑3 我找到了幻影文件。它位于/users/me/phantom.txt 所以问题是,如何将文件保存在与可执行文件相同的目录中?
您可以显示输入文件的内容(前几行)吗? – 2013-03-10 14:18:35
输入文件在编辑1 – tricknology 2013-03-10 19:29:15