- 753 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 22:33:55 ]
- >>750
なるほど……IsBadXXX系はこの手の判断には使えないという事でよろしいでしょうか。 とすると、次のようなコードの場合、不正を事前に検出するためにはどうしたらいいのでしょう。 void CMemoryTestDlg::OnBnClickedOk() { char* pTest = new char[10]; ::strcpy(pTest, "abc"); TRACE(pTest); delete [] pTest; if (::IsBadStringPtr(pTest, 4) == 0) { TRACE("OK %s\r\n", pTest); // 当たり前だが、ここで落ちる } else { TRACE("NG\r\n"); } } 当然、コメント文を書いたところで、落ちてしまいます。 if文の中身を調整して、不正ポインタかどうかを判別したいわけです。 何かいい手段はないものでしょうか……
|

|