[問題] 檔案讀取 陣列檔案

作者: josephairs (weiserhorner)   2013-02-04 17:57:27
各位好
小弟剛接觸fortran約五天
只會用matlab
fortran是為了模擬工具所需硬寫的
我有個檔案 其中一行像是底下這樣
然後有好幾千行
想要一次讀取1000行
1
-6.08974 -0.389376 -2.5e-05 1096.12 157.843 1 20.7615 938.272 2212 1 -2.16598
-0.777673 -566.665 0 0 0
還有幾千行 下略
以下是我寫出來不能跑的東西 先嘗試讀五十行出來
但是不能用 有爬了之前的文章
幾乎是照寫 但是不知問題出在哪裡
integer UF,Cg,PID,N
parameter(N=50)
real X,Y,Z,TE,E,WT,T,MS,U,V,W,Px,Py,Pz,MU,MV,MW
open(unit=80,file='test.phsp',access='sequential')
do i=1,10
read(80,110) UF(i),X(i),Y(i),Z(i),TE(i),E(i),WT(i),
& T(i),MS(i),PID(i),Cg(i),MU(i),MV(i),MW(i),Px(i),Py(i),Pz(i)
110 format (I2,E3.6,E3.6,E3.6,E4.2,E3.3,I1,E3.3,E3.3,I4,I2,
& E2.4,E2.4,E2.4,E2.4,E2.4,E2.4 )
enddo
write(*,*) UF,X,Y,Z,TE,E,WT,T,MS,PID,Cg,MU,MV,MW,Px,Py,Pz
close(80)
stop
end
有沒有高手可以指點一下 感恩
作者: rex0707 (我就是我)   2013-02-04 18:15:00
你的real那一行沒有宣告成陣列=> real UF(N)...
作者: terryys (terry)   2013-02-04 22:17:00
有什麼錯誤訊息嗎?還有close和stop應該放到loop外
作者: rex0707 (我就是我)   2013-02-04 22:53:00
我看起來open跟close在loop外欸XD
作者: Cypresslin (啊哈哈~~)   2013-02-04 23:47:00
A:第一行的1跟後面資料在同一行嗎?是的話分行readB:格式Ex.y表示以總字元寬度x顯示小數點下有效位y位C:你有宣告實數變數但是卻指定整數的格式
作者: terryys (terry)   2013-02-04 23:57:00
看錯了不好意思除了real那一行要陣列,integer那一行也要
作者: josephairs (weiserhorner)   2013-02-05 13:34:00
感謝樓上各位指導 我會再試試

Links booklink

Contact Us: admin [ a t ] ucptt.com