作者josephairs (weiserhorner)
看板Fortran
标题[问题] 档案读取 阵列档案
时间Mon Feb 4 17:57:27 2013
各位好
小弟刚接触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
有没有高手可以指点一下 感恩
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.25.95.67
1F:→ rex0707:你的real那一行没有宣告成阵列=> real UF(N)... 02/04 18:15
2F:推 terryys:有什麽错误讯息吗?还有close和stop应该放到loop外 02/04 22:17
3F:→ rex0707:我看起来open跟close在loop外欸XD 02/04 22:53
4F:→ Cypresslin:A:第一行的1跟後面资料在同一行吗?是的话分行read 02/04 23:47
5F:→ Cypresslin:B:格式Ex.y表示以总字元宽度x显示小数点下有效位y位 02/04 23:49
6F:→ Cypresslin:C:你有宣告实数变数但是却指定整数的格式 02/04 23:51
7F:推 terryys:看错了不好意思 02/04 23:57
8F:推 terryys:除了real那一行要阵列,integer那一行也要 02/04 23:59
9F:→ josephairs:感谢楼上各位指导 我会再试试 02/05 13:34