- ベストアンサー
ファイル名を変数で書きこむfwriteの仕方
fopen( " ", "w" ); 上記の関数によって書きこむファイル名を変数で設定するにはどうすれば良いですか? 例えばiとjと言う変数があった場合、i_j.csvをファイル名としたいです。(iとjを変数とします。) ご存知の方がいましたら、教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
変数の値からファイル名を作る方法はいくつかあります。 i,jが整数型だとして、 char fname[50]; sprintf(fname,"%d_%d,csv",i,j) ; fopen(fname,"w"); 等。 「変数名」をファイル名にしたい、となるとマクロつかうとかでしょうか。 もっとも、「変数名」は変わらないので、直接書いてしまえばいいだけのこと。
その他の回答 (1)
- higeG
- ベストアンサー率22% (4/18)
回答No.2
> 例えばiとjと言う変数があった場合、i_j.csvをファイル名としたいです。(iとjを変数とします。) iとjが変数の値に置き換わるイメージでしょうか?それとも変数名そのものをファイル名にしたいのでしょうか? 前者であれば、#1の方のやり方になりますし、後者であれば、 #define FNAME(a, b) #a "_" #b ".csv" と言うマクロを作っておいて fopen(FNAME(i,j), "w"); でしょうか。
質問者
お礼
なるほど、こういうやりかたもあるんですね
お礼
うまくいきました。ありがとうございました。