24小时热门版块排行榜    

查看: 992  |  回复: 7
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

gongxd325

至尊木虫 (文坛精英)

[交流] 【求助】Fortran读字符串出错【已完成】

Fortran语句读一个文档中的字符时遇到的奇怪问题

      CHARACTER  TT*80
      READ(1,'(A80)')  TT

当字符TT以"F"开头时就出错,其他字符没有问题,不知道为何?如何解决?

[ Last edited by nono2009 on 2009-10-6 at 09:13 ]
回复此楼

» 猜你喜欢

一个人做点好事并不难难的是一辈子做好事!!!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gongxd325

至尊木虫 (文坛精英)

谢谢楼上两位。
是这样的,有一组类似于下面形式的数据,每一行上有2个数字或者1个字符串
1.0  3.0
F2.out
HF.out
H2.out
编了个小程序读取,首先以数据形式读A,B,假如出错,则回退一行重新以字符形式读取,语句如下:

      READ(1,*,err=1)A,B
      goto 2
1     backspace (1)
      READ(1,'(A)')TT
      OPEN(3,FILE=TRIM(ADJUSTL(TT)),STATUS='UNKNOWN')
      ...
2     ...

结果发现,读“F”打头的行时出错,而其他均没问题。
研究了一下,问题应该是由于以数据形式读“F”打头的字符出错时无法转向到行号1引起的,不知道该如何解决
一个人做点好事并不难难的是一辈子做好事!!!
4楼2009-10-05 22:54:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

journalemu

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+1,VIP+0):支持应助,欢迎常来程序软件版! 10-5 20:57
这么神奇?呵呵,我测试了一下,没有问题。呵呵。不知道楼主是否可以细贴出来。
2楼2009-10-05 19:19:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

vaidi

银虫 (初入文坛)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+1,VIP+0):支持应助,欢迎常来程序软件版! 10-5 22:36
我这也没有问题,楼主真的要把更详细的内容那出来才可以判断啊
3楼2009-10-05 21:54:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gongxd325

至尊木虫 (文坛精英)

PROGRAM test

      IMPLICIT REAL*8 (A-H,O-Z)
      CHARACTER TT*80

      OPEN(1,FILE='in',STATUS='OLD',ERR=99)
      OPEN(2,FILE='ou',STATUS='UNKNOWN')

2     if (EOF(1)) goto 99
      READ(1,*,err=1)A,B
      write(2,'(2F8.2)')A,B
      goto 2
1     backspace (1)
      READ(1,'(A)')TT
      write(2,'(A)')TRIM(ADJUSTL(TT))
      goto 2

99    END
一个人做点好事并不难难的是一辈子做好事!!!
5楼2009-10-05 23:05:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见