作者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)