- ベストアンサー
指定された保存先パスがない場合、エラーを出したい。
C++ Builder2009でプログラミングしてます。 現在、Edit2->Textのファイルパスの文字列が保存先として使用していて、 FILE* fp = _wfopen(Edit2->Text.c_str(), L"wb"); このように、ファイル出力時にファイルパスを指定しているのですが、例えば、”Edit2->Text”に指定された保存先ファイルパスが存在しないフォルダだった場合など、エラーとしてファイル出力処理を停止して、さらにエラーボックス表示を出すようにしたいのですが、どのようにすればよいかご教授頂きますようよろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
_wfopen()の仕様は調べないのですか?
その他の回答 (1)
- kmee
- ベストアンサー率55% (1857/3366)
あのー 遠回りに見えるかも知れませんけど、まずは、C言語/C++の入門書を買って、それを理解してください。 自分の作りたいプログラムを作るのは、その後です。 基礎を理解せずに、応用はできません。 マニュアル見ればすぐわかることだし、fopenのこと知ってたら予想できるものです。
お礼
回答頂きありがとうございます。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で返してきていることがわかりました。助かりました。
お礼
回答頂きありがとうございます。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で返してきていることがわかりました。助かりました。