Fortran 板


LINE

初学fortran 只会用简单的计算跟一些回圈 由於现在用软体算出来的output 夹杂英文和数字 想请问 有没有办法用找特定两个关键字的方式 去读在这两个关键字中的数据 再把它写出到另一个资料夹 做了一下功课 好像是需要使用到 index bacspace 跟 do 跳行 orientation: --------------------------------------------------------------------- Center Atomic Atomic Coordinates (Angstroms) Number Number Type X Y Z --------------------------------------------------------------------- 1 6 0 2.422098 -0.365891 0.476931 2 8 0 2.669932 -1.186283 1.333641 3 8 0 3.283776 0.059986 -0.453423 4 6 0 4.606155 -0.505397 -0.372798 . . . . . . --------------------------------------------------------------------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx . . . . . completed 大致上的数据格式是这样,从orientation 到completer 有大概一千行 一个档案里面有大约40组这样的内容 我想的流程大概是 先寻找到completed 然後使用backspace往上搜寻找到orientation 然後使用跳行读取跳过前面 再来读取 X Y Z 下的数据 然後跳出到找到completed的行数接着寻找completed 但是碍於能力有限具体的方式不太了解 所以想麻烦大家指点一下 谢谢 暂时把CODE整理成这样 但是还是没有办法达成目的 PROGRAM EE IMPLICIT NONE CHARACTER(LEN=80) :: TXT INTEGER :: FIOS,CN,AN,AT REAL*8 X1,Y1,Z1 OPEN(UNIT=11,FILE="Text3.txt") OPEN(UNIT=12,FILE="XYZ.TXT") DO WHILE(.TRUE.) READ(11,"(A80)",IOSTAT=FIOS) TXT IF(TXT=="Optimization completed.") THEN Backspace(11) Backspace(11) END IF DO WHILE(.TRUE.) READ(11,"(A80)",IOSTAT=FIOS) TXT IF (LEN_TRIM(TXT)/="Standard orientation:")THEN Backspace(11) Backspace(11) ELSE IF(LEN_TRIM(TXT)=="Standard orientation:") THEN REWIND(12) READ(11,*,IOSTAT=FIOS) READ(11,*,IOSTAT=FIOS) READ(11,*,IOSTAT=FIOS) READ(11,*,IOSTAT=FIOS) DO WHILE(.TRUE.) READ(11,"(A80)",IOSTAT=FIOS) TXT IF(TXT=="--------------------------------") EXIT READ(TXT,*,IOSTAT=FIOS) CN,AN,AT,X1,Y1,Z1 PRINT *, X1,Y1,Z1 WRITE(12,*) X1,Y1,Z1 END DO END IF END DO END DO STOP END 还请有看到的大大指点迷津 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.117.58.73
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Fortran/M.1418059835.A.5A9.html
1F:推 kkarthur: 读取一次即可,并不需要用到backspace 12/09 10:24
2F:→ kkarthur: 流程大概如下 12/09 10:24
3F:→ kkarthur: 1. 一行行把档案内容字串存成变数 12/09 10:25
4F:→ kkarthur: 2. IF(内容=="orientation") 就把下面几行座标存起来 12/09 10:26
5F:→ kkarthur: 3.IF(内容=="completed") 就印出成功并显示座标 12/09 10:27
6F:推 kkarthur: 流程2即使前面会因为同样的关键字而变数重复被覆盖 12/09 10:30
7F:→ kkarthur: 但能保证看到completed之前所读取的资料一直是较新的 12/09 10:31
※ 编辑: kitsune128 (140.117.58.73), 12/10/2014 02:43:49
8F:→ weiny1992: TRIM(TXT)才对喔 LEN_TRIM是整数 12/10 18:06







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP