[問題] 資料行數讀取的差異

看板Fortran作者 (降太)時間11年前 (2013/07/05 13:55), 編輯推噓0(007)
留言7則, 4人參與, 最新討論串1/1
今天有一筆資料,總之我目前得先算出他的行數 再用來當作可變陣列的維度來讀檔 先用這個 DO WHILE (.true.) !iostat:讀取正常=0就是了 READ(unit=20,fmt=*,iostat=state)temp_string PRINT*,temp_string,state IF( state/=0 )EXIT source=source+1 END DO 回報source = 72494 結果下面要讀檔的時候表示 end of reading 以為行數沒讀對,於是回頭去確認,打開vi看 資料的確是72494行.. 於是在讀檔迴圈中加一行讓他把目前進行到第幾圈print出來 72422 72423 72424 72425 72426 forrtl: severe (24): end-of-file during read, unit 20, 因為我是放在迴圈的最後,所以應該是讀完72426,在要讀72427的時候出錯 請問一下是怎麼回事囧....? 原始碼 http://freakshare.com/files/a8fuusx8/Text2.for.html 資料 http://freakshare.com/files/rv6cuk20/ted71pointfinally.txt.html -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.29.185

07/05 14:30, , 1F
建議檔案在最下面多一行是空白的
07/05 14:30, 1F

07/05 14:34, , 2F
是指要讀的資料嗎?我試試看
07/05 14:34, 2F

07/05 14:54, , 3F
是過了 可是沒有效果囧...
07/05 14:54, 3F

07/05 15:42, , 4F
可以考慮把程式碼+資料都上傳讓大家看看,方便揪錯。
07/05 15:42, 4F
附上了=口=... ※ 編輯: zmack0905 來自: 140.120.29.185 (07/05 16:05)

07/05 16:30, , 5F
去看看你的資料檔,第一列數據不是連續的
07/05 16:30, 5F

07/05 16:30, , 6F
只有382,384 沒有383
07/05 16:30, 6F

07/05 16:33, , 7F
同時印temp_string和source 你就能看出差異了
07/05 16:33, 7F
那部分我知道,在計算筆數的時候我都是忽略那一列. 因為不管是用vi算還是用程式去跑回圈,都不需要在乎那列連不連續 還是說那個沒排會有差?(不是就當做一個值而已嗎@@>?) ※ 編輯: zmack0905 來自: 123.240.156.97 (07/05 22:27)
文章代碼(AID): #1Hrb_E8O (Fortran)
文章代碼(AID): #1Hrb_E8O (Fortran)