• ベストアンサー

ファイル名の変化

c言語でファイルをオープンするとき ファイル名をfile1,file2,file3・・・と変化させながら オープンしていきたいのですが可能でしょうか。 可能なら、どうすればよいですか。

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

  • ベストアンサー
  • ashi_oto
  • ベストアンサー率40% (9/22)
回答No.1

// file1、file2…から、最初に存在しない番号のファイルを書き込みモードでオープンするコード int i; FILE *fp; for(i=0; i<100; i++) {   sprintf(filename, "file%d", i+1);   if(fp = fopen(filename, "r")) {     fclose(fp); // そのファイルはすでに存在する     continue;   }   if(!(fp = fopen(filename, "w"))) {     exit(1);   }     // 処理   fclose(fp);   break; } いかがでしょう

ashiato-li
質問者

お礼

回答ありがとうございます。 sprintfを使えばよかったのですね。 参考になりました。 ありがとうございました。

その他の回答 (1)

  • Interest
  • ベストアンサー率31% (207/659)
回答No.2

例えば、 int i; char fileName[20]; FILE *fp; for(i=0; i<5; i++){  sprintf(fileName, "file%d", i);  fp = fopen(fileName, "r");  (以下、ファイルを開いたあとの処理) } というのはどうでしょう?

ashiato-li
質問者

お礼

回答ありがとうございます、 短くて分かりやすかったです。 参考にさせてもらいました。 ありがとうございました。

関連するQ&A