4

読むべき巨大なファイルがあり、その構造は次のとおりです。

 [...]
 (0,0,0,0,0): 5.00634e-33, 5.59393e-33, 6.24691e-33, 7.29338e-33,
 (0,0,0,0,4): 7.77607e-33, 8.95879e-33, 9.65316e-33, 1.07434e-32,
 (0,0,0,0,8): 1.20824e-32, 1.34983e-32, 1.49877e-32, 1.73061e-32,
 (0,0,0,0,12): 1.919e-32, 2.15391e-32, 2.3996e-32, 2.67899e-32,
 [...]

「:」の後の値を読み取ることに興味がありformatます。Fortran90を使用する場合、readステートメントでどちらを使用する必要がありますか?

私はで試しました

 read(1,'("(",I6,",",I6,",",I6,",",I6,",",I6,"):",F10.4,F10.4,F10.4,F10.4)')idx1,idx2,idx3,idx4,idx5,dummy1,dummy2,dummy3,dummy4

しかし、私はforrtl: severe (64): input conversion error

4

1 に答える 1

10

アイテムが列に並んでいないように見えるので、これはフォーマットで行うのが難しいです。私はこのようにアプローチします:

read (55, '(A)')  string
colon_pos = index (string, ":")
read (string (colon_pos+1:len_string), * ) real1, real2, real3, real4

各行を文字列に読み込み、コロンを見つけてから、リスト指定IOを使用して、コロンの後の文字列の数値を処理します。

于 2012-09-10T15:29:47.400 に答える