Fortran Tip集

前へ   上へ   次へ

6 連番ファイル名の生成方法

mydata001.csv ... mydata999.csv 等の連番ファイル名を生成する方法を以下に示します。 (内部ファイルを用いた数字から文字への変換の応用です)

例えば以下のようにすると、簡単に連番ファイル名を生成することができます。

program iterate_filename
  implicit none
  character filename*128
  integer i
  do i = 1, 5
    write (filename, '("mydata", i3.3, ".txt")') i ! ここでファイル名を生成している
    print *, trim(filename)
  end do
end program iterate_filename

出力例:
 mydata001.txt
 mydata002.txt
 mydata003.txt
 mydata004.txt
 mydata005.txt

以下に実際に連番ファイルを書きだすプログラム例を示します。

[ write-numbered-file.f90 ] - 連番ファイルを書きだすサンプル

program write_numbered_files
  implicit none
  character filename*128
  integer i, j
  do i = 1, 5
    write (filename, '("xyz", i4.4, ".csv")') i
    open (17, file=filename, status='replace')
    do j = 1, 10
      write (17, '(i0,",",i0)') j, j*2
    end do
    close (17)
  end do
end program write_numbered_files

出力ファイルの例:
xyz0001.csv
xyz0002.csv
xyz0003.csv
xyz0004.csv
xyz0005.csv

それぞれのファイルの中身:
1,2
2,4
3,6
4,8
5,10
6,12
7,14
8,16
9,18
10,20



前へ   上へ   次へ
関連情報
ご案内
© 日本ニューメリカルアルゴリズムズグループ株式会社 2025
Privacy Policy  /  Trademarks