以下のファイルの中身を複素数の変数に読み込ませたいとする。
# test input file: test.inp 1.00000 2.00000
結構探したが、fortranで外部から複素数を読み込ませるときの上手い方法が見つからなかった。
結局、実数変数に一時的に格納し、後で複素数に変換するという形しか無さそう。
program test implicit none integer, parameter :: INPUT = 10 integer, parameter :: DP = selected_real_kind( 8 ) complex( DP ), parameter :: I = cmplx( 0, 1 ) real( DP ) :: temp( 2 ) complex( DP ) :: c character( 99 ) :: filename filename = 'test.inp' open( INPUT, file = filename, status = 'old' ) read( INPUT, * ) temp( 1 : 2 ) c = cmplx( temp( 1 ), temp( 2 ) ) ! or c = temp( 1 ) + I * temp( 2 ) end program test