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

作者: okda (我要當個晨型人)   2013-01-24 09:45:10
我的問題如下:
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
作者: gilocustom   2013-01-24 12:12:00
變數snapshot沒有賦值。
作者: terryys (terry)   2013-01-24 12:22:00
open(unit=snapshot... 這一句的檔案名稱不對參考一下以前的討論,要先把名稱寫入一個字串還有open應該在do loop外面,而且最好要有一個相應的close

Links booklink

Contact Us: admin [ a t ] ucptt.com