- ベストアンサー
commonで定義した変数を文字型に変換してファイル名に使いたいのですが(fortran)
たとえば計算ループの反復回数のカウントにniterという変数を使っているとします。 niterが10の倍数になる度にniterの数をファイル名にしてそれぞれの結果をそれぞれのファイルに出力したいのですが,うまくいきません。 open(10,file='file' // CHAR(ICHAR('0'+niter) // '.txt' &,status='unknown') のようにするようにと教わったのですが、これだけではうまくいかないので詳しい方教えていただけませんか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
詳しいというわけでもありませんが。 > CHAR(ICHAR('0')+niter) これでは一桁の数にしか対応できないのではないでしょうか? 10の倍数であれば、10で割って CHAR(ICHAR('0')+niter/10) としてみては。 二桁以上に対応しようとすると、CHAR/ICHARでもできなくはないですが、面倒なので私なら、 character*10 filename write(filename,'("file",I2.2,".txt")') niter open(10,file=filename) としちゃいます。
お礼
ありがとうございます。 早速やってみました。できました。 文字型なんて使ったことなかったんで 助かりました。