- 締切済み
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
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- SnowShower
- ベストアンサー率40% (140/348)
回答No.1
>何度かその関数を呼ぶと、 という部分から調べてみるしかないですね。 エラーの発生条件としては大きなものは、メモリ確保されていない部分へのアクセスですから ・関数内で使用しているメモリ(変数)確保の状況(適せさなサイズがあるか等) ・関数に渡しているメモリアドレスの有効サイズ 等、 あとオープンはいいですが、クローズもしてますか?
お礼
ご回答ありがとうございます。 色々調べて、メモリの確保の方法がおかしく、ヒープがぐちゃぐちゃになっていたのが原因でした。 ありがとうございましたm(__)m