- ベストアンサー
C言語でのファイル読み込み
C言語でのファイル読み込みに関してお尋ねしたいことがございます。 たとえば、「test1.dat」というような数字が複数行記載されたデータファイルがあり、 それを配列に読み込んで作業をしたのちに、 同じ作業を「test2.dat」「test3.dat」・・・というようなデータファイル (これらも、test1とは異なる数字が複数行記載されたデータファイル)にも 施したい場合、どのようなループ処理をすればよいのでしょうか? perlの場合ですと比較的簡単にできたのですが、 Cの場合はどうしたらいいかわかりません。 どうぞよろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
FILE *f; int i; char filename[100]; for(i=1;i<10;i++){ sprintf(filename,"test%d.dat",i); f=fopen(filename,"r"); ; ; ; fclose(f); }
その他の回答 (1)
- kaihatsusya
- ベストアンサー率0% (0/1)
perlを知らないのでうまく説明できるかわかりませんが、 参考になれば。 for()のループの中にファイルオープンからすべての作業を行う様に 処理を記述すればいいのではないでしょうか? アクセスするファイルが質問の様に法則性があり数字で連番になっているというのであれば、 アクセスするファイルのフルパスファイル名を文字列変数(Cの場合はchar型配列)に持ち その変数を用いてループ内でファイルオープン~データ読み込み&配列保持~ファイルクローズを行い、 保持した配列を用いて作業を行って、終了したら次のループへ進む様にすればできると思います。 同時に複数のファイルをオープンする必要がないのであれば ファイルオープン時に使用するファイル番号も一つですみますし。 ただこの場合、ループ内で使用している変数の初期化が要注意ですので、 この点に注意してプログラムを組んでみたらいかがでしょうか?
お礼
勉強になりました、ご丁寧にありがとうございました!
お礼
できました! 大変助かりました、ありがとうございました!!