0

Fortranの通常のreadステートメントは、RETURN キーが押されるまでプログラムの実行を中断します。RETURN キーを待たずに、押されたキーを読み取るステートメントを探しています。キーが押されなくても、プログラムは停止しません。ご回答ありがとうございます。

編集:質問を明確にする必要があるソースコードを次に示します。

Program test1
  n=2
  do while (n==2)
    read (*,*) n
    write (*,*) 'Output'
  end do
end program test1

Program test2
  n=2
  do while (n==2)
    UnknownReadStatement (*,*) n
    write (*,*) 'Output'
  end do
end program test2

キーが押されていない場合、プログラムtest1は画面に「出力」という単語を書き込みません。

私が探している read ステートメントを使用するtest2と、「2」以外のキーが押されるまで、プログラムは画面を「出力」で埋める必要があります。

4

1 に答える 1

0

http://home.comcast.net/~urbanjost/CLONE/GETKEY/getkey.htmlには、入力をリターン キーで終了する必要なく、Fortran の端末から 1 つのキーを読み取るサンプル コードがあります。私はこのコードを試していないので、保証できません。彼 (John Ubran) のソリューションでは、C の getkey を使用して Fortran と C を組み合わせています。あなたのコンパイラがそれをサポートしていると仮定すると (ほとんどの場合)、ISO_C_BINDING メソッドを試して Fortran と C を組み合わせることをお勧めします。ある種のタイムアウト。人に何かを入力する機会を与えますが、締め切りまでに入力しない場合はタイムアウトして続行します。リンク先のソリューションを変更できるかもしれません...

于 2010-09-21T00:35:45.253 に答える