在FORTRAN中写在同一行

时间:2013-08-23 18:42:56

标签: fortran

在Fortran中,每次使用WRITE时都会生成一个新行。为了控制正在执行的程序的工作,我想在屏幕上写入变量的当前值,但总是在同一行上(擦除前一个值并从行的开头开始)。就是这样的事情

 1    CONTINUE
      "update the value of a"
      WRITE(*,*) a
      BACKSPACE "screen"
      GOTO 1

WRITE(*,*,ADVANCE='NO')之类的东西(无论如何都不正确)并不是我的意思 需要:这会在很长时间内一个接一个地写出a的所有值 线。

1 个答案:

答案 0 :(得分:8)

我为你想要的东西展示的技巧如下

do l=1,lmax
   ...update a...
   write(*,'(1a1,<type>,$)') char(13), a
enddo

其中<type>a的格式说明符(即i0表示整数)。

键是char(13),它是回车符,格式描述符中是$。我真的不知道$是否有名称,我只知道它适用于在屏幕上显示 - 输出到文件时,每行都会得到a。< / p>