10

Fortran では、使用するたびWRITEに新しい行が生成されます。実行中のプログラムの動作を制御するために、変数の現在の値を画面に書き込みますが、常に同じ行に書き込みます (前の値を消去し、行の先頭から開始します)。つまり、次のようなものです

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

(とにかく正しくない)のようなWRITE(*,*,ADVANCE='NO')ものは、私が必要としているものとはまったく異なります。これは、すべての値をa非常に長い行に次々と書き込むことになります。

4

1 に答える 1

9

あなたが望むもののために私が示したトリックは次のとおりです

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

whereは(つまり、整数の)<type>書式指定子です。ai0

キーはchar(13)、キャリッジ リターンである と$、フォーマット記述子の です。の名前が​​あるかどうかは本当にわかりません。$画面に表示するために機能することを知っているだけです-ファイルへの出力のために、a各行に.

于 2013-08-23T19:13:01.163 に答える