作者josephairs (weiserhorner)
看板Fortran
标题Re: [问题] 档案读取 阵列档案
时间Fri Mar 15 21:57:12 2013
是的我又来了
同样的档案 其中一行像是底下这样
然後有好几千行
想要一次读取1000行
他原来是char 想要改成 integer or real
档案其中一行是这样
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
还有几千行 下略
我现在可以读成char一次n行
不过不知道怎麽转成integer 和 real
看了别人写的照写似乎没有用
还请前辈们指点迷津
Character*80 NP(50),Cg(50),PID(50),X(50),Y(50),Z(50),TE(50)
& ,E(50),WT(50),T(50),MS(50),U(50),V(50),W(50),Px(50),Py(50),
& Pz(50),MU(50),MV(50),MW(50)
open(unit=80,file='test.phsp',access='sequential')
do i=1,10
read(80,'(I2)') NP(i)
read (80,120) 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)
120 format ('F6.3,F6.3,E9.3,F8.3,F7.3,I2,F8.5,F8.3,I4,I2,F5.3,F5.3,
& F5.3,I1,I1,I1')
end do
do i=1,50
write(*,*) NP(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)
end do
close(80)
stop
end
非常感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.25.95.67
1F:推 terryys:为什麽那些变数要设成字串?改成real不行吗? 03/16 09:19
2F:→ josephairs:因为他原本就是字串 03/16 11:02
3F:→ charlesdc:你的变数是字串你的对应的read就要是字串的格式 03/17 02:34
4F:→ charlesdc:当然也有字串转整数或浮点数的method 03/17 02:35
5F:→ charlesdc:不过你根本不用把变数宣告成字串 03/17 02:36
6F:→ charlesdc:全设成浮点数去接也不是不行 03/17 02:37
7F:→ charlesdc:建议你还是把工具书前几章看熟一点 03/17 02:37