我試圖用一些舊的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