C++ 关于strlen的一个问题
发布网友
发布时间:2022-06-13 17:05
我来回答
共6个回答
热心网友
时间:2023-10-14 16:28
strlen()没问题,你把错误信息和完整代码贴出来
另外,开始的几个include是为什么?
你的类是:FunnyString吗?
还有一处:
char *str1=new char[80],*str2=new char[80]; //要开辟空间后赋值
cout<<"input:";
cin>>str1>>str2;
热心网友
时间:2023-10-14 16:29
越界了
热心网友
时间:2023-10-14 16:29
当你用new创建内存空间的时候 请你加上delete 否则你用智能指针看看
热心网友
时间:2023-10-14 16:30
char *str1,*str2
没有申请空间
改成数组准行
或者用new分配足够大小的空间
char *str1 = new char[XXX];
char *str1 = new char[XXX];
XXX为char的个数
热心网友
时间:2023-10-14 16:30
new了没delete?
热心网友
时间:2023-10-14 16:31
问题出在
str=strcat(str,a.str);
被连接的字符数组长度不够,你把str定义的长一点就可以了。
比如
str=new char[strlen(a)+1];
改成
str=new char[strlen(a)+100];