[請益] 讀取檔案數據後寫至多個檔案下

看板Fortran作者 (我要當個晨型人)時間12年前 (2013/01/24 09:45), 編輯推噓2(202)
留言4則, 2人參與, 最新討論串1/1
我的問題如下: Program snapshot_splitting implicit none integer, parameter :: max_atoms = 200000 real*8, dimension(max_atoms) :: x_axis,y_axis,z_axis integer :: atom_number,i,j,snapshot character*9, dimension(max_atoms) :: atom_type open(unit=7,file='water_2.52E8_box1_snapshot.xyz') !打開此檔案,檔案格式是 !Solvent 1 !1377 !O 0.262871E+02 0.347348E+02 0.642930E+01 !H 0.266831E+02 0.338788E+02 0.626620E+01 !H 0.266774E+02 0.353092E+02 0.577060E+01 !以此類推 do i=1,10 read(7,*) read(7,*)atom_number do j=1,atom_number read(7,*)atom_type(j),x_axis(j),y_axis(j),z_axis(j) open(unit=snapshot,file='("water_2.52E8_box1_snapshot_", i, ".txt")') write(unit=snapshot,fmt='(a2,2x,3e14.6)')atom_type(j),x_axis(j), & y_axis(j),z_axis(j) !想把原本檔案中的資料分別寫至10個檔案 !檔案名稱分別是:water_2.52E8_box1_snapshot_1.txt, ! water_2.52E8_box1_snapshot_2.txt, !以此類推到10 !但執行gfortran之後甚麼東西也跑不出來 !我哪裡寫錯了呢? enddo read(7,*) read(7,*) enddo stop end -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 69.166.47.113 ※ 編輯: okda 來自: 69.166.47.113 (01/24 09:45)

01/24 12:12, , 1F
變數snapshot沒有賦值。
01/24 12:12, 1F

01/24 12:22, , 2F
open(unit=snapshot... 這一句的檔案名稱不對
01/24 12:22, 2F

01/24 12:23, , 3F
參考一下以前的討論,要先把名稱寫入一個字串
01/24 12:23, 3F

01/24 12:42, , 4F
還有open應該在do loop外面,而且最好要有一個相應的close
01/24 12:42, 4F
文章代碼(AID): #1H098gbw (Fortran)
文章代碼(AID): #1H098gbw (Fortran)