24小时热门版块排行榜    

查看: 2526  |  回复: 3

lwingkei

禁虫 (小有名气)

本帖内容被屏蔽

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   关注TA 给TA发消息 送TA红花 TA的回帖

zeppe

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
lwingkei: 金币+10, ★★★★★最佳答案, 很好,回头好好研究一下修改一下再用 2014-04-16 17:10:04
可以根据特征字符串所在行来定义flag进行限制,例如可以以"DM1"这个字符串所在行为起始行,以"DM2"这个字符串所在行为结束行,读入这之间的数据。其他DM3,...都类似的。
下面是读取"DM1"和"DM2"之间的数据的代码。
CODE:
! read a formatted file, see "example.txt"
      program TestReadFile
        implicit none

        character (len=80) :: filename
        integer, parameter :: fileunit=15
        logical :: bExist, bDM1, bDM2
        integer :: iOK, pos1, pos2
        character (len=80) :: line
        real :: var1, var2, var3

        ! name of input file
        filename="example.txt"

        ! check if file exist
        inquire (file=filename, exist=bExist)
        if (bExist) then
        else
          print *, filename, " not found!"
          stop
        endif

        ! open file
        open (unit=fileunit, file=filename, status='old', iostat=iOK)
        if (iOK /= 0) then
          print *, "can't open ", filename
          stop
        endif

        ! read file line by line
        do while (iOK == 0)
          read (fileunit, "(A)", iostat=iOK) line
         
          ! if line starts with "DM1"
          pos1=index(line, "DM1")
          if (pos1 == 1) then
            bDM1=.true.
            continue
          endif

          ! if line starts with "DM2"
          pos2=index(line, "DM2")
          if (pos2 == 1) then
            bDM1=.false.
            bDM2=.true.
            continue
          endif

          ! if in the 'DM1' block, read variables
          if ((bDM1) .and. (pos1 /= 1)) then
            read (line, *)var1, var2, var3
            print *, var1, var2, var3
          endif
         
        enddo

        ! close file
        close (fileunit)

      end program TestReadFile

2楼2014-04-16 13:07:31
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

zeppe

金虫 (小有名气)

【答案】应助回帖

example.txt内容如下
DM1:
             0.02     -1.3     2.40
             1.50     -0.1     4.00
             3.02     -2.0     5.00
             0.60     0.30     3000
DM2:
             0.010     3000     1000
             0.020     3000     1000
             0.030     3000     1000
             0.040     3000     1000
             0.050     3000     1000
             0.060     3000     1000
DM3:
             1000     0.00     0.00
             2000     0.00     0.00
             3000     0.00     0.00
             4000     0.00     0.00
             5000     0.00     0.00
             6000     0.00     0.00
             7000     0.00     0.00
3楼2014-04-16 13:09:34
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

tg2010

金虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
先做个循环数有多少行。
第二个循环就按上面读出的行数来读。
4楼2014-04-16 15:31:41
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lwingkei 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 0XLacIJUOj8D 2026-08-24 6/300 2026-08-25 00:11 by BZKMTicpDhFj
[基金申请] 人气不行了 +10 fansofjerry 2026-08-21 10/500 2026-08-24 21:03 by zhanghaozhu
[基金申请] filecode,4个jtjc了 +14 ziyangfang 2026-08-19 17/850 2026-08-24 18:37 by 哈哈蛤?
[基金申请] 2026国自然函评费到账 +17 羊腰板 2026-08-21 19/950 2026-08-24 16:52 by iaeyuan
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +17 医学老男孩 2026-08-20 21/1050 2026-08-24 14:21 by refreshing11
[基金申请] 估计是周四 +4 archvillain 2026-08-18 4/200 2026-08-24 13:53 by zzuzxg
[基金申请] 范进中举一文的中心思想 +6 炎黄贵胄 2026-08-22 7/350 2026-08-24 11:58 by 6543yes
[基金申请] 朋友圈看到的 +7 wangzilk 2026-08-18 9/450 2026-08-24 10:50 by cmrandy
[基金申请] 放榜前的不淡定 20+4 snowwithsea 2026-08-19 17/850 2026-08-24 10:20 by echo8914667
[基金申请] 什么时候开奖? +10 CrisMessi 2026-08-18 11/550 2026-08-24 06:50 by 开心的小狮子
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +4 process2012 2026-08-23 5/250 2026-08-23 19:58 by jurkat.1640
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
[基金申请] 今天放榜吗? +15 布布和一二 2026-08-19 16/800 2026-08-23 09:55 by 张春生
[基金申请] 只有每年这种时候来逛逛小木虫 +24 yaoyewhu2008 2026-08-20 26/1300 2026-08-22 17:43 by kammury
[基金申请] 今天基金会出结果吗?20260819 +16 kkkl_v 2026-08-19 17/850 2026-08-22 16:12 by 阿布Abu
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
信息提示
请填处理意见