读书人

VC2008 new分配内存的错误

发布时间: 2014-01-28 21:19:14 作者: rapoo

VC2008 new分配内存的错误;

以下是问题描述:
char * str3=NULL;
char * buff=NULL;
在一个loop里面对以下语句做测试,结果让人很困惑
if(str3!=NULL)
{
delete [] str3;
str3=NULL;
}
str3=new char[5];
if(buff!=NULL)
{
delete [] buff;
buff=NULL;
}
buff=new char[3];
cout < <endl < <strlen(str3) < <endl < <strlen(buff) < <endl;
输出结果居然是
4
16
请哪个帮忙回答我

------解决方法--------------------------------------------------------
你分配了内存
但是没有赋值
求字符串长度就会出问题

        

读书人网 >.NET

热点推荐