• 締切済み

CFileのOpenで例外(998:メモリ ロケーションへのアクセスが無効)

【環境】WindowsXP、VS2005++、MFC タイトルの通りなんですが、CFileのOpen時に例外が発生してしまいます。 CFile file; LPCSTR output; file.Open(output, CFile::modeCreate | CFile::modeNoTruncate | CFile::modeWrite); 関数Aに記載しており、何度かその関数を呼ぶと、決まったタイミングで例外が発生します。 GetLastErrorで998が返ってきている事は分かったのですが、 どう解決すれば良いのかわかりません・・・。 ちなみにopenしているのはBMPファイルです。 以上、ご教授お願いいたしますm(__)m

みんなの回答

回答No.1

>何度かその関数を呼ぶと、 という部分から調べてみるしかないですね。 エラーの発生条件としては大きなものは、メモリ確保されていない部分へのアクセスですから ・関数内で使用しているメモリ(変数)確保の状況(適せさなサイズがあるか等) ・関数に渡しているメモリアドレスの有効サイズ 等、 あとオープンはいいですが、クローズもしてますか?

ya-cha
質問者

お礼

ご回答ありがとうございます。 色々調べて、メモリの確保の方法がおかしく、ヒープがぐちゃぐちゃになっていたのが原因でした。 ありがとうございましたm(__)m

関連するQ&A

専門家に質問してみよう