读书人

关于C++

发布时间: 2012-03-30 17:32:09 作者: rapoo

关于C++求助
代码如下:
#include <iostream>
using namespace std;
int main()
{
char* src="hello";
int len = strlen(src);
char* p=new char[len];
strcpy(p,src);
delete []p;
return 0;

}
本人才接触C++变成,所以很菜。

想问的是这段代码为什么在运行的时候出现内存错误。还请各位指教。

[解决办法]

C/C++ code
#include <iostream>using namespace std;int main(){    char* src="hello";    int len = strlen(src);    char* p=new char[len+1];//加个1就行了,因为strlen得出来的结果是不包含\0的,而字符串是以\0为结束标志    strcpy(p,src);    delete []p;    return 0;}
[解决办法]
char* p=new char[len+1];

读书人网 >C++

热点推荐