[問題] 跨行讀值的問題

看板Fortran作者 (ㄐㄍ)時間10年前 (2014/02/14 19:22), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串1/1
我寫了一個程式碼要讀值 但是有跨行 要讀取的資料格式如下: ** STEP: Step-1 ** *Step, name=Step-1 *Heat Transfer, end=PERIOD 345600., 345600., , , ** 程式碼如下: !======================================================================= 303 FORMAT(A14/F7.0,2X,F7.0) !======================================================================= 403 CONTINUE !讀取 delta T READ(102,303,ERR=403,END=502)inpinp,TA,TB IF(inpinp.EQ.'*Heat Transfer') THEN DT=TA ELSE GOTO 403 END IF !======================================================================= 利用inpinp這個字串是否正確 而判斷字串下一行的兩個數值是否是我要的值 但問題在於說 當程式碼在執行時 因為是兩行一起讀取 所以只會讀取奇數行(1.3.5.7.9....)的字串作判斷 如果剛好我要的字串在偶數行的話 這個程式碼根本讀不到東西 0.0 請問在這個情況下 有沒有更通用的寫法呢? 因為不確定字串所在的行數 又不想大費周章的每次都去改輸入檔的格式啊... -- 元...元宵節快樂 0.< -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.61.231

02/14 21:11, , 1F
把資料讀出來,重新寫入到另外一個新的檔案就好
02/14 21:11, 1F

02/14 21:13, , 2F
重點是Format那邊你已經定義要換行了...
02/14 21:13, 2F
我不是很了解耶 因為我在原始檔案裡要利用字串作判斷 讀到資料時也會把資料寫到新檔案 但是在最一開始的時候用這個格式就會有可能讀不到資料的情形了 ※ 編輯: JiGo 來自: 122.116.4.91 (02/14 22:04)

02/14 22:33, , 3F
一行一行讀。
02/14 22:33, 3F
但是要字串判斷正確 下面的數值才是我要的 如果要一行一行讀的話要怎麼寫比較好? ※ 編輯: JiGo 來自: 122.116.4.91 (02/14 22:40)

02/14 23:01, , 4F
每讀一行字串就判斷是不是你要的
02/14 23:01, 4F

02/14 23:01, , 5F
是:下一行讀值 不是:下一行讀字串,再重新判斷
02/14 23:01, 5F
I got it!! 謝謝各位!! ※ 編輯: JiGo 來自: 140.115.61.231 (02/15 11:54)
文章代碼(AID): #1I_Vo08X (Fortran)
文章代碼(AID): #1I_Vo08X (Fortran)