• ベストアンサー

ファイル書き込み時のファイル名について

Cでコンソールアプリケーションを作っています。 ファイルにデータを書き込む時に、ファイルポインタを使ってファイルを開きますよね。たとえば、下のような感じで。 fp = fopen("./hogehoge.txt","w") このとき、hogehoge.txtに当たる部分をプリプロセッサのマクロなどを使って変更することはできるのでしょうか? 毎回下のほうまでスクロールするのが非常に煩わしいのですが…。 分かる方いらっしゃいましたら、よろしくおねがいします。

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

  • ベストアンサー
  • KamoPlat
  • ベストアンサー率46% (23/50)
回答No.2

プリプロセッサでなくても、別に変数でもいいですけど #define OUTPUT_FILENAME "./hogehoge.txt" /* いろいろ処理…… */ fp = fopen(OUTPUT_FILENAME , "w"); でしょうか? あ、入れ替えなら「#ifdef」使ってくださいね。

funifuni11
質問者

お礼

なるほど、このようにやらなければいけないんですね。 助かりました。ありがとうございました。

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

#1> "./FILENAME" は、うまくないです。 てか、これが置き換えられるようでは、反って困る場合が多いと思います。 #2でも書かれているけど #define FILENAME "./hogehoge.txt" として、 fp = fopen(FILENAME,"w"); でいいと思います。 あと、 "./hogehoge.txt" は、単に "hogehoge.txt" でいいと思うけど

funifuni11
質問者

お礼

ありがとうございました。 おかげさまで助かりました!

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

できます

funifuni11
質問者

補足

回答ありがとうございます。 とりあえず、 #define FILENAME hogehoge.txt として、 fp = fopen("./FILENAME","w") とやってみたのですが、うまくいきません。 " "でかこまれた部分には効かないんでしょうか?? たびたびすみませんが、よろしくお願いします。

関連するQ&A

専門家に質問してみよう