format 文の個数指定部分に変数を使用する †ifort †format(200f10.3) 上記の200の部分を可変にしたいとき,例えばnx個のf10.3としたければ, format(<nx>f10.3) のように"<>"で変数を囲む.nxは整数でなければならない. gfortran †write文のフォーマット指定にformat文を使用せず,文字列characterに書き込む.上のやり方よりちょっと面倒. character(len=64) :: fmt1 integer :: n_foobar と宣言した上で, write(fmt1,'(I0)') n_foobar fmt1 = '(1pe14.5,'//trim(fmt1)//'(",",1pe14.5))' write(51,fmt1) hogehoge, (foobar(i), i=1,n_foobar) とすると,文字列 fmt1 は '(1pe14.5,<n_foobar>(",",1pe14.5))' となり,上のformat文を使ったのと同じようなことができる.もちろん ifort でもこれは可能だけど,上を使った方が楽. |