• ベストアンサー

指定された保存先パスがない場合、エラーを出したい。

C++ Builder2009でプログラミングしてます。 現在、Edit2->Textのファイルパスの文字列が保存先として使用していて、 FILE* fp = _wfopen(Edit2->Text.c_str(), L"wb"); このように、ファイル出力時にファイルパスを指定しているのですが、例えば、”Edit2->Text”に指定された保存先ファイルパスが存在しないフォルダだった場合など、エラーとしてファイル出力処理を停止して、さらにエラーボックス表示を出すようにしたいのですが、どのようにすればよいかご教授頂きますようよろしくお願い致します。

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

  • ベストアンサー
  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

_wfopen()の仕様は調べないのですか?

diy_sunny
質問者

お礼

回答頂きありがとうございます。http://docwiki.embarcadero.com/RADStudio/XE4/ja/Fopen%EF%BC%8C_wfopen こちらのサイトで_wfopenを調べたところ、戻り値として ”成功した場合,fopen は,新しく開かれたストリームを指すポインタを返します。エラーの場合は,NULL を返します。” とのことだったので、 FILE* fp = _wfopen(Edit2->Text.c_str(), L"wb"); if( fp == NULL ){ } これで失敗した場合を待ってみたところ、NULLで返してきていることがわかりました。助かりました。

その他の回答 (1)

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

あのー 遠回りに見えるかも知れませんけど、まずは、C言語/C++の入門書を買って、それを理解してください。 自分の作りたいプログラムを作るのは、その後です。 基礎を理解せずに、応用はできません。 マニュアル見ればすぐわかることだし、fopenのこと知ってたら予想できるものです。

diy_sunny
質問者

お礼

回答頂きありがとうございます。http://docwiki.embarcadero.com/RADStudio/XE4/ja/Fopen%EF%BC%8C_wfopen こちらのサイトで_wfopenを調べたところ、戻り値として ”成功した場合,fopen は,新しく開かれたストリームを指すポインタを返します。エラーの場合は,NULL を返します。” とのことだったので、 FILE* fp = _wfopen(Edit2->Text.c_str(), L"wb"); if( fp == NULL ){ } これで失敗した場合を待ってみたところ、NULLで返してきていることがわかりました。助かりました。