0

読み取りたい変数の名前を含む文字列があり、この文字列を読み取り関数に渡したいと思います。これにより、変数の名前でベクトルを変更するだけで、読み取った変数の名前を変更できます。例は次のとおりです。

PROGRAM test
implicit none

  integer :: no, age
  character(len=20) :: myname, vars

vars='no, myname, age'
read(*, '(i4,a20,i4)') vars
print*, no, myname, age 

END PROGRAM test

これは可能ですか?

4

2 に答える 2

1

「NAMELIST」I/Oを調べることができます。これは、おそらくあなたが求めていることを実行します。多くの場合、名前リストIOにはさまざまな問題があり、人々はとにかく独自のカスタムIOルーチンを作成することに頼ることがよくあります。しかし、それがあなたが望むものに十分であるならば、それは非常に使いやすいです。例えば


program nmltest
  implicit none
  real :: x
  integer :: y
  namelist /mynml/ x, y
  x = 4711
  y = 42
  write(*, mynml)
end program nmltest
于 2012-06-05T11:43:48.460 に答える