プロが教えるわが家の防犯対策術!

fopen( "   ", "w" );
上記の関数によって書きこむファイル名を変数で設定するにはどうすれば良いですか?

例えばiとjと言う変数があった場合、i_j.csvをファイル名としたいです。(iとjを変数とします。)
ご存知の方がいましたら、教えてください。

A 回答 (2件)

変数の値からファイル名を作る方法はいくつかあります。


i,jが整数型だとして、

char fname[50];
sprintf(fname,"%d_%d,csv",i,j) ;
fopen(fname,"w");

等。

「変数名」をファイル名にしたい、となるとマクロつかうとかでしょうか。
もっとも、「変数名」は変わらないので、直接書いてしまえばいいだけのこと。
    • good
    • 4
この回答へのお礼

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

お礼日時:2011/04/19 16:04

> 例えばiとjと言う変数があった場合、i_j.csvをファイル名としたいです。

(iとjを変数とします。)

iとjが変数の値に置き換わるイメージでしょうか?それとも変数名そのものをファイル名にしたいのでしょうか?

前者であれば、#1の方のやり方になりますし、後者であれば、
#define FNAME(a, b) #a "_" #b ".csv"
と言うマクロを作っておいて

fopen(FNAME(i,j), "w");

でしょうか。
    • good
    • 1
この回答へのお礼

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

お礼日時:2011/04/19 16:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています