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