| 查看: 1048 | 回复: 7 | |||
| 当前主题已经存档。 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
gongxd325至尊木虫 (文坛精英)
|
[交流]
【求助】Fortran读字符串出错【已完成】
|
||
|
Fortran语句读一个文档中的字符时遇到的奇怪问题 CHARACTER TT*80 READ(1,'(A80)') TT 当字符TT以"F"开头时就出错,其他字符没有问题,不知道为何?如何解决? [ Last edited by nono2009 on 2009-10-6 at 09:13 ] |
» 猜你喜欢
球磨粉体时遇到了大的问题,请指教!
已经有15人回复
过年走亲戚时感受到了所开私家车的鄙视链
已经有5人回复
情人节自我反思:在爱情中有过遗憾吗?
已经有5人回复
江汉大学解明教授课题组招博士研究生/博士后
已经有3人回复

gongxd325
至尊木虫 (文坛精英)
- 应助: 177 (高中生)
- 金币: 37682.6
- 散金: 13187
- 红花: 109
- 帖子: 34003
- 在线: 1844.8小时
- 虫号: 233962
- 注册: 2006-03-30
- 性别: MM
- 专业: 理论和计算化学
余泽成(金币+0,VIP+0):请耐心等待,求助需设定一定金币奖励! 10-5 23:21
|
或者先以字符形式读,再从字符中读数字,也同样出错。 PROGRAM test2 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,'(A)')TT READ(TT,*,err=1)A,B write(2,'(2F8.2)')A,B goto 2 1 write(2,'(A)')TRIM(ADJUSTL(TT)) goto 2 99 END |

6楼2009-10-05 23:13:03
2楼2009-10-05 19:19:59
3楼2009-10-05 21:54:26
gongxd325
至尊木虫 (文坛精英)
- 应助: 177 (高中生)
- 金币: 37682.6
- 散金: 13187
- 红花: 109
- 帖子: 34003
- 在线: 1844.8小时
- 虫号: 233962
- 注册: 2006-03-30
- 性别: MM
- 专业: 理论和计算化学
|
谢谢楼上两位。 是这样的,有一组类似于下面形式的数据,每一行上有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













回复此楼