こんにちは。今、とっても困ってます。助けてください。

VCで作ったプログラムなのですが、exeが開かない現象が起きました。
原因はcsvfileが存在しないためでした。存在しなかったとき、fileが無いことを判定してエラーメッセージか何かを出そうと思ってます。

質問事項
1.csvfileがあるかを見る関数
2.ダイアログを出す以外の方法で、エラーを教える方法

いい方法・案があったら教えて下さい。

A 回答 (4件)

1. の答え


Cライブラリだったら
_stat
WIn32 APIだったら
PathFileExists
だったかな?

2. の答え
ログファイルに吐いておく
    • good
    • 0
この回答へのお礼

お忙しいところありがとうございました。
新しい関数が勉強できてよかったです。

*2のファイルの有り無しの処理について*
ONLINEでデータを取得しグラフに表示するというプログラムなのでダイアログをそこで出すとボタンを押すまで機能が止まってしまうのでダイアログはやめました。

親切にありがとうございました。

お礼日時:2001/08/28 20:36

「関数で、fileがあるかを判定し、フラグか何かで返してくれる


関数は無いですかね?あるとありがたいです。」
という件についてコメントします。
単にファイルの存在有無の確認でしたら、Win32API の FindFirstFile()
という関数が使えると思います。
    • good
    • 0
この回答へのお礼

お忙しいところ目を通していただきありがとうございました。先ほど正常に動きを確認できました。
nabezo-さんのアドバイスのお陰で勉強になりました。
本当にありがとうございました。

お礼日時:2001/08/28 20:27

ファイルオープンでファイルの有無を判定するのは、常套手段ですね。

ファイルをオープンして、エラーをキャッチ、スローされた情報を元にエラー内容を判定します。
TRY
{
 CFile f(pFileName, CFile::modeRead);
}
CATCH( CFileException, e)
{
 if( e->m_cause == CFileException::fileNotFound )
  Beep();
  printf( "ERROR: File not found\n");
}
END_CATCH

詳しくはマニュアルを見てください。
    • good
    • 0
この回答へのお礼

再び分かりやすいアドバイスありがとうございました。
この数日でいろいろ試してみました。yatokesaさんのソースを参考に完成しました。さっき出来上がって達成感を味わっているところです。本当にありがとうございました。

お礼日時:2001/08/28 20:22

"csvfile"というのはご自身が作ったプログラム中で必要なファイルですか?


ファイルをopenしようとしたときにエラーとなったらfileが存在しないと見なしてエラー処理を行えばよいのではないでしょうか。

ダイヤログ以外というと、ビープ(警告)音を鳴らす、ステータスバーにエラーを表示する...などですかね。
    • good
    • 0
この回答へのお礼

コメントありがとうございます。
・関数で、fileがあるかを判定し、フラグか何かで返してくれる関数は無いですかね?あるとありがたいです。
・ビープ音とダイアログに出せばエラーっぽくていい感じですね。やってみます。
いい案をありがとうございました。

お礼日時:2001/08/23 11:43

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


人気Q&Aランキング

おすすめ情報