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

看板Fortran作者 (weiserhorner)時間11年前 (2013/03/15 21:57), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串2/2 (看更多)
是的我又來了 同樣的檔案 其中一行像是底下這樣 然後有好幾千行 想要一次讀取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

03/16 09:19, , 1F
為什麼那些變數要設成字串?改成real不行嗎?
03/16 09:19, 1F

03/16 11:02, , 2F
因為他原本就是字串
03/16 11:02, 2F

03/17 02:34, , 3F
你的變數是字串你的對應的read就要是字串的格式
03/17 02:34, 3F

03/17 02:35, , 4F
當然也有字串轉整數或浮點數的method
03/17 02:35, 4F

03/17 02:36, , 5F
不過你根本不用把變數宣告成字串
03/17 02:36, 5F

03/17 02:37, , 6F
全設成浮點數去接也不是不行
03/17 02:37, 6F

03/17 02:37, , 7F
建議你還是把工具書前幾章看熟一點
03/17 02:37, 7F
文章代碼(AID): #1HGoYwCh (Fortran)
文章代碼(AID): #1HGoYwCh (Fortran)