• ベストアンサー

連続したファイル名を作成する方法を教えてください

プログラムを作成しています。 一つだけのファイルにデータを出力するのであれば fp = fopen("temp.txt", "w"); と宣言すればよいですが、 今、 001.txt 002.txt * * * 100.txt と言うぐらいに大量のファイルを作成する必要があります。 この場合どのようにしたらよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • LegaC2
  • ベストアンサー率52% (224/428)
回答No.2

int i; for(i=1;i<=100;++i) { char filename[256]; sprintf(filename, "%03d.txt", i); FILE *fp = fopen(filename, "w"); fclose(fp); }

phyedu
質問者

補足

ありがとうございました。 このようにすると filename1 filename2 filename3 といった連続した名前のファイルを作ることができました。 具体的なコードが示されていてとてもわかりやすかったです。

その他の回答 (1)

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.1

ファイル名を格納するための文字列を用意します。 1から100まで回るループを構成します。 ループの中で、 1)sprintf()を使って、    ・ループ制御変数の値    ・固定文字列 ".txt"   から成るファイル名の文字列を組み立てます。 2)組み立てた名前のファイルをオープンします。 3)所定の処理を行ないます。 4)ファイルをクローズします。