Re: [請益] FORTRAN讀檔案的問題
謝謝mouseforlove, terryys & All,讀取test_000001到test_000012搞定。
想再請教 write(inputname,"(a5,i0.6)")'test_',+i
其中的i0.6是什麼意思呢?我在FORTRAN的書暫時還沒找到說明。
以下是我寫的程式:
Program read
Dimension POINT(3, 10000) ! 設定矩陣維度,3行N列。
! 讀test_000001 ...到 test_000012 有12個檔
character(len=11) inputname ! 檔案有11個字元
10 FORMAT(1X, 3(/X, 3F10.5)) ! 輸出的檔案格式 Raw data。
do i = 1,12 ! 我要讀入12個檔案
write(inputname,"(a5,i0.6)")'test_',+i
open(1,file=inputname)
read(1,*) POINT ! 讀進
write(*,10) POINT ! 秀在螢幕
write(*,*) "test_",i
enddo
Stop
END
※ 引述《mouseforlove (我是瓜呆)》之銘言:
: 感謝terryys
: 如果希望檔名是test_0001-test_0010的格式,下面的code可改為
: do i=1,10
: write(iname,'(a5,i0.4)') 'test_',i
: enddo
: 這樣就不需要判別式了!
: 我在處理類似test_01-test20檔名的部分,會在迴圈裏面多加判別式
: do i=1,20
: if (i.lt.10) then
: write(iname,'(a6,i1)') 'test_0',i
: elseif (i.ge.10.and.i.lt.100) then
: write(iname,'(a5,i2)') 'test_',i
: endif
: enddo
: 雖然這樣寫不是很聰明,不過處理數量少的資料還是可以參考一下
: 另外
: : write(inputname,"(a5,i6)")'test_',000000+i
: :C 請問大家,我這一行有寫錯嗎?
: 這個部分出在000000+i,如果i=5計算結果會是5,而不是000005,
: inputname會變成'test_ 5'
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.20.237
※ 編輯: py94g 來自: 140.113.20.237 (05/07 21:28)
推
05/07 21:28, , 1F
05/07 21:28, 1F
※ 編輯: py94g 來自: 140.113.20.237 (05/07 21:30)
討論串 (同標題文章)
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章