Visual Studio 2005スレ Part19 at TECH
[2ch|▼Menu]
753:デフォルトの名無しさん
07/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文の中身を調整して、不正ポインタかどうかを判別したいわけです。
何かいい手段はないものでしょうか……


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4259日前に更新/197 KB
担当:undef