[請益] FORTRAN讀檔案的問題

看板Fortran作者 (...)時間12年前 (2012/05/07 15:19), 編輯推噓0(0010)
留言10則, 3人參與, 最新討論串1/4 (看更多)
如果把檔案給分開,應該就不會有上一個迴圈如何寫的問題了。 然而分成多個檔案,每一個檔案是3行10000列。 檔名是test_000001 到 test_000010 有10個檔,只有數值沒Header沒有附檔名。 我寫的程式可以Compiler但是就是有錯...不知錯在哪裡, 想和迴圈問題一起請教大家, 以下是我寫的幾行: Program read Dimension POINT(3, 10000) ! 設定矩陣維度,3行N列。 ! 讀test_000001 ...到 test_000010 有10個檔 character(len=11) inputname ! 檔案有11個字元 do i = 1,10 ! 我要讀入10個檔案 write(inputname,"(a5,i6)")'test_',000000+i C 請問大家,我這一行有寫錯嗎? open(1,file=inputname) read(1,*) POINT ! 讀進 write(*,10) POINT ! 秀在螢幕 enddo 10 FORMAT(1X, 3(3F10.5)) ! 輸出的檔案格式 Raw data。 Stop END -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.20.237

05/07 15:40, , 1F
我還沒看內文的CODE 只是想先跟你說
05/07 15:40, 1F

05/07 15:41, , 2F
大多時候用DEBUG模式編譯的程式下去跑 可以知道問題在哪裡
05/07 15:41, 2F

05/07 16:43, , 3F
我覺得問題在檔名的000001~000010,我再試試看改檔名
05/07 16:43, 3F

05/07 16:49, , 4F
test_000001改成test_1...test_000010改成test_10
05/07 16:49, 4F

05/07 16:50, , 5F
原 write(inputname,"(a5,i6)")'test_',000000+i
05/07 16:50, 5F

05/07 16:50, , 6F
改成write(inputname,"(a5,i1)")'test_',+i
05/07 16:50, 6F

05/07 16:52, , 7F
這樣可以跑,但是只能跑到test_9,而test_10出錯。
05/07 16:52, 7F

05/07 16:53, , 8F
原因是write(inputname,"(a5,i1)")'test_',+i中的i1
05/07 16:53, 8F

05/07 16:54, , 9F
檔案超過9就不行了,我想這是沒人會同意這種寫法的。
05/07 16:54, 9F

05/07 17:19, , 10F
05/07 17:19, 10F
文章代碼(AID): #1FftTgz9 (Fortran)
文章代碼(AID): #1FftTgz9 (Fortran)