• ベストアンサー

ファイル名を変数で書きこむfwriteの仕方

fopen( "   ", "w" ); 上記の関数によって書きこむファイル名を変数で設定するにはどうすれば良いですか? 例えばiとjと言う変数があった場合、i_j.csvをファイル名としたいです。(iとjを変数とします。) ご存知の方がいましたら、教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

変数の値からファイル名を作る方法はいくつかあります。 i,jが整数型だとして、 char fname[50]; sprintf(fname,"%d_%d,csv",i,j) ; fopen(fname,"w"); 等。 「変数名」をファイル名にしたい、となるとマクロつかうとかでしょうか。 もっとも、「変数名」は変わらないので、直接書いてしまえばいいだけのこと。

saterain20
質問者

お礼

うまくいきました。ありがとうございました。

その他の回答 (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"); でしょうか。

saterain20
質問者

お礼

なるほど、こういうやりかたもあるんですね

関連するQ&A