看板 Fortran 關於我們 聯絡資訊
我寫了一個程式碼要讀值 但是有跨行 要讀取的資料格式如下: ** 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
snowanimal:把資料讀出來,重新寫入到另外一個新的檔案就好 02/14 21:11
snowanimal:重點是Format那邊你已經定義要換行了... 02/14 21:13
我不是很了解耶 因為我在原始檔案裡要利用字串作判斷 讀到資料時也會把資料寫到新檔案 但是在最一開始的時候用這個格式就會有可能讀不到資料的情形了 ※ 編輯: JiGo 來自: 122.116.4.91 (02/14 22:04)
blc:一行一行讀。 02/14 22:33
但是要字串判斷正確 下面的數值才是我要的 如果要一行一行讀的話要怎麼寫比較好? ※ 編輯: JiGo 來自: 122.116.4.91 (02/14 22:40)
rex0707:每讀一行字串就判斷是不是你要的 02/14 23:01
rex0707:是:下一行讀值 不是:下一行讀字串,再重新判斷 02/14 23:01
I got it!! 謝謝各位!! ※ 編輯: JiGo 來自: 140.115.61.231 (02/15 11:54)