- ベストアンサー
ファイル書き込み時のファイル名について
Cでコンソールアプリケーションを作っています。 ファイルにデータを書き込む時に、ファイルポインタを使ってファイルを開きますよね。たとえば、下のような感じで。 fp = fopen("./hogehoge.txt","w") このとき、hogehoge.txtに当たる部分をプリプロセッサのマクロなどを使って変更することはできるのでしょうか? 毎回下のほうまでスクロールするのが非常に煩わしいのですが…。 分かる方いらっしゃいましたら、よろしくおねがいします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
プリプロセッサでなくても、別に変数でもいいですけど #define OUTPUT_FILENAME "./hogehoge.txt" /* いろいろ処理…… */ fp = fopen(OUTPUT_FILENAME , "w"); でしょうか? あ、入れ替えなら「#ifdef」使ってくださいね。
その他の回答 (2)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
#1> "./FILENAME" は、うまくないです。 てか、これが置き換えられるようでは、反って困る場合が多いと思います。 #2でも書かれているけど #define FILENAME "./hogehoge.txt" として、 fp = fopen(FILENAME,"w"); でいいと思います。 あと、 "./hogehoge.txt" は、単に "hogehoge.txt" でいいと思うけど
お礼
ありがとうございました。 おかげさまで助かりました!
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
できます
補足
回答ありがとうございます。 とりあえず、 #define FILENAME hogehoge.txt として、 fp = fopen("./FILENAME","w") とやってみたのですが、うまくいきません。 " "でかこまれた部分には効かないんでしょうか?? たびたびすみませんが、よろしくお願いします。
お礼
なるほど、このようにやらなければいけないんですね。 助かりました。ありがとうございました。