【问题标题】:Fortran runtime error: Bad real number in item 1 of list inputFortran 运行时错误:列表输入的第 1 项中的实数错误
【发布时间】:2013-10-26 14:38:20
【问题描述】:

我收到运行时错误:Bad real number in item 1 of list input 对于这个示例问题。请提出正确的方法。

    implicit double precision (a-h,o-x)
    parameter (ni=150)  
    dimension x(ni)
    open(40,file='fortin')
    do 80 i=1,5
    read(40,*)x(i)
    write(*,*)i,x(i)
80  continue
    stop
    end

fortin文件中的数据按列排列

   1.0     
   5.0     
   3.0
   5.0
   7.0

【问题讨论】:

  • 'fortin' 顶部没有单词,(ii) read(,) 没有从文件中读取值。
  • 我建议使用 status='old' 打开,以防您遇到路径问题,甚至无法打开您认为的文件。
  • fortin 的顶部有字符时,我得到了您提到的确切错误。当我删除这些字符(并保留空白行)时,我没有收到任何错误并且数据读取正常。问题肯定是你的文件。
  • 感谢 Kyle Kanos 和 George 的帮助。
  • 好吧,当我重新创建文件时,问题就消失了。这是输入文件的问题,Kyle 是对的!谢谢

标签: fortran gfortran fortran77


【解决方案1】:

您的代码只需要数字,并且文件中似乎有字符。您可以执行以下两项操作之一来解决此问题:

  1. 删除fortin文件顶部的文字
  2. 在循环之前添加一个read(*,*)(后面不需要任何东西)

【讨论】:

    【解决方案2】:

    就我而言,问题在于数据文件,而不是代码。

    我的问题原来是文件是 Unicode 格式。当我在 vi 中查看时,它显示得很好。但是当我在不支持 unicode 的查看器中查看时,例如使用午夜指挥官,它看起来像一团糟。发给我文件的人后来告诉我他用 UTF-16 保存文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-21
      • 1970-01-01
      相关资源
      最近更新 更多