以下のコードを実行すると正常に実行できません。
具体的には、ダイアログボックスが表示されずに、
すぐにエラーのダイアログが出てしまいます。
int main()
{
OPENFILENAME ofn;
char FilePath[MAX_PATH];
}
さて、どこが間違っているでしょうか?
答えは、以下の通りです。
int main()
{
OPENFILENAME ofn;
char FilePath[MAX_PATH] = "";
}
間違え探しみたいになっていますが、FilePathの初期化の部分をよく見てみましょう。
どうやら、GetOpenFileName関数の引数として渡す、OPENFILENAME構造体のlpstrFile変数には
nMaxFile以内に終端文字列のコードが無いとエラーが起きるようです。。。
全く気づかずに1時間半ぐらい無駄にしたぞ・・・。