我正在使用Fortran來對大量數據集進行計算,這些數據集被拆分成許多文件。該文件的名稱是:循環遍歷可變文件名
maltoLyo12per-reimage-set1.traj
maltoLyo12per-reimage-set2.traj
maltoLyo12per-reimage-set3.traj
我寫做計算的代碼如下:
fileLoop: do j = 31, 34
OPEN(unit=31,status='old',file=fileplace//'maltoLyo12per-reimage-set1.traj')
OPEN(unit=32,status='old',file=fileplace//'maltoLyo12per-reimage-set2.traj')
OPEN(unit=33,status='old',file=fileplace//'maltoLyo12per-reimage-set3.traj')
OPEN(unit=34,status='old',file=fileplace//'maltoLyo12per-reimage-set4.traj')
... operation....
close (j)
end do fileLoop
在我想要的代碼打開每個文件的時間和關閉它們運行完成計算後。但是上面的代碼會立即打開所有的文件,並在完成計算後一次性關閉它們。
於是,我就修改代碼類似如下:
fileLoop: do j = 31, 34
OPEN(unit=j,status='old',file=fileplace//'maltoLyo12per-reimage-set1.traj')
close (j)
end do fileLoop
但現在我面臨的文件名有問題。每次循環運行時,文件名都不會因爲文件名中的短語「set1」而改變。我希望文件名中的數字像set1,set2,set3等那樣改變,隨後使用文件單元號31,32,33,34等。
它看起來像你有興趣在這個問題:http://stackoverflow.com/questions/1262695/converting-integers-to-strings-in-fortran。 – milancurcic 2013-04-30 03:45:15