
連続でファイル作成
連続でファイル作成
最終的にパラパラアニメの要領でアニメーションを作ろうと考えています。
そこで、C言語でfor文を使ってたくさんのファイルを作成することを考えました。
そこで質問なのですが、ファイル名を少しずつ変える方法はどうしたらいいのでしょうか?
最初、for文中に
fd = fopen("test%d.txt",i,"w");
と書いてみたのですが、『too many arguments to function ‘fopen’』とエラーが出ました。
(もちろん整数iはi++でfor文中に入れてあります。つまり、test1,test2,...,test10のようなテキストファイルを作成したかったという意味です。)
C言語を始めたばかりなのでとても初歩的な質問かと思いますが、わかる方どうぞよろしくお願いいたします。
投稿日時 - 2010-09-06 21:59:10
このQ&Aは役に立ちましたか?
4人が「このQ&Aが役に立った」と投票しています
回答(2)
こんな感じですね。
int i;
char filename[100];
FILE *fp;
for(i=0;i<100;i++){
snprintf(filename,sizeof filename,"test%d.txt",i);
if((fp = fopen(filename,"w"))!=NULL){
fclose(fp);
}else{
fprintf(stderr,"open error (%s)\n",filename);
}
}
投稿日時 - 2010-09-06 22:17:02
とてもご丁寧にどうもありがとうございました!!
snprintf()を始めて知りました。
今後さらに勉強していきたいと思います。
投稿日時 - 2010-09-07 15:49:52