C言語関係掲示板

過去ログ

No.172.連続したファイル名の作り方


No.1125

文字列操作?
投稿者---takeo(2002/02/28 21:48:34)


こんにちは

fopen("newfile", "wb")と言った感じで、新規に書き込み用ファイルを作りたいのですが、
引っかかっている所が『"newfile" を連続していくつも作りたい』というところです。

例えば、この新規に作るファイル名を
"hoge0.txt" "hoge1.txt" "hoge2.txt" "hoge3.txt" ・・・・・・
というふうにしたい場合、

fp[0] = fopen("hoge0.txt","wb");
fp[1] = fopen("hoge1.txt","wb");
fp[2] = fopen("hoge2.txt","wb");
fp[3] = fopen("hoge3.txt","wb");
      ・
      ・
      ・
fp[n] = fopen("hogen.txt","wb");

と、いちいち書いていく方法しか思いつかないのです。。。
本当は for文でループさせてい作っていきたいのですが、連続したファイル名
"hogen.txt"をうまくループで作成できないのです。


for(i=0, i<n, i++)
{
fp[i] = fopen("hoge[i].txt", "wb");
}
では、もちろんダメですよね。

文字列の操作方法できちんとした連続したファイル名の作り方があるかと思うのですが、
私の知識ではなかなか思い付かないと言うのが現状です。

もし良いやり方があれば教えて頂けないでしょうか?
よろしくお願いします。


No.1126

Re:文字列操作?
投稿者---ともじ(2002/02/28 22:11:23)


こんばんは。

>例えば、この新規に作るファイル名を
>"hoge0.txt" "hoge1.txt" "hoge2.txt" "hoge3.txt" ・・・・・・
>というふうにしたい場合、
>本当は for文でループさせてい作っていきたいのですが、連続したファイル名
>"hogen.txt"をうまくループで作成できないのです。

sprintf関数を使うと、簡単にできますよ。

for (i=0; i<10; i++)
 sprintf(filename,"hoge%d.txt",i);


No.1129

Re:文字列操作?
投稿者---takeo(2002/03/01 09:53:51)


おはようございます。

ともじさん、アドバイスありがとうございます。
なるほど、sprintfを使うのですね。
これを知っていると、これからもかなり使えそうですね。
早速使ってみます。

本当に勉強になりました。ありがとうございました。
これからもよろしくお願いします。


戻る


「初心者のためのポイント学習C言語」 Last modified:2002.05.14
Copyright(c) 2000-2002 TOMOJI All Rights Reserved