今まで、
FILE *fa;
FILE *fb;
FILE *fc;
とある時、
参照されるファイルを変えるようにしながら、関数を呼べるように
したいのですが、
Function( , , ,FILE *fd, , , ,)
というような呼び方でいいのでしょうか?
また、その時の関数の本体側の記述はどうなるのでしょうか?
質問が理解できません。
何言ってんのかわかりません。
もっと具体的にやりたいことをストレートに書いてみ
すみませんでした。
やりたいことをストレートに書きます。
やりたいことは、
べたべた、コードを書きたくないので、関数を使いたい。
でも、その関数の中を通るアルゴリズムは同じでも、
入力として、ファイルだけは変えたい。
既に、関数に入る前にfopenで
FILE *faや
FILE *fb、そして
]FILE *fc
等に対応するファイルが開かれてはいるのだが、
どのファイルが入ってくるかは、わからない。
だからこそ、
その
FILE *XX
の部分を入力の引数にしたい。
そのためには、関数の呼び方、及び、関数内の
記述をどうすれば、いいのでしょうか?
という質問であります。
わかりずらくて、すみませんでした。
> すみませんでした。
> やりたいことをストレートに書きます。
> ...
> わかりずらくて、すみませんでした。
投函前にせめて自分で読み直してごらんよ。
自分の事情を知らない人が読んで理解してくれるかな?
分かりにくいと思ったら、プログラミングよりも時間を割いて、
分かりやすい文章作成のスキルを身につけよう。
二回目(2009/02/15(日) 22:31:02)の質問なら十分分かりやすいはず、
と思うならば、残念ながらアドバイスはない。
さて本題。私にはあなたの質問が理解できていないので、
大胆な憶測による回答ですが、次のようなことがやりたいのですか?
void Func(FILE *fp)
{
fprintf(fp, hoge hoge);
}
int main()
{
FILE *fp = fopen(hoge.txt, w);
Func(fp);
fclose(fp);
return 0;
}
まず、一般論としては、fa~fcで開くファイルの構造や意味が同じもので
あるなら特に問題は無いでしょう。
反対に、Function()がファイル内のデータを参照したり、書き換えたり
する場合で、それらのファイルの意味や構造が異なる場合、同じ関数に
通すのは、結果的にFunction()内の処理が全く同じ場合であっても自分
は勧めません。
つまり、本件の場合
1.fa~fcはどのようなファイルを開いているのであるか。
2.それらの関係は如何なるものであるか。
3.そもそもFunction()とは何をしたいのか。
の点が説明されないと、役に立ちそうな回答ができないわけです。
お分かりでしょうか。