Visual Studio 2005スレ Part19
at TECH
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