You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Fortran90读取文件遇Severe 59错误求助:343行4列文件读取失败

Fortran读取文件Severe 59错误的解决方法

问题根源

Severe 59是输入格式/类型不匹配错误。你的文件每行第一个元素是字符串Ar,但代码直接尝试把这部分读进实数数组,类型不匹配触发报错;同时数组a定义为(343,4),但代码只处理第2-4列,未处理第一列的逻辑也会导致读取流程混乱。

修正后的代码

PROGRAM force
    implicit none
    integer :: i
    character(len=2) :: elem  ! 接收每行开头的"Ar"字符串
    real, dimension(343,4) :: a
    
    ! 用10及以上的单位号,避开系统预留的标准输入(5)、输出(6)等单位
    open(unit=10, file='parameters.txt', status='old', action='read')
    do i = 1,343
        ! 先读取字符串,再读取后面三个实数存入数组第2-4列
        read(10,*) elem, (a(i,j), j=2,4)
    end do
    close(10)
END PROGRAM force

额外优化方案

如果不需要第一列的Ar,也可以直接用格式语句跳过该字段,更贴合你的文件格式:

PROGRAM force
    implicit none
    integer :: i
    real, dimension(343,4) :: a
    
    open(unit=10, file='parameters.txt', status='old', action='read')
    do i = 1,343
        ! A跳过开头字符串,3F20.14匹配文件中三个宽度为20、小数位14的实数
        read(10, '(A, 3F20.14)') (a(i,j), j=2,4)
    end do
    close(10)
END PROGRAM force

排查注意事项

如果仍报错,检查这两点:

  • 确认parameters.txt在程序运行的当前目录下,路径无误
  • 确认文件恰好343行,无空行、格式错乱的行

内容的提问来源于stack exchange,提问作者Cate Martin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 19:00:53