C++问题:strcat函数在这个程序里有什么问题?

2024-11-15 14:28:39
推荐回答(1个)
回答(1):

void String::Add(String &str0)
{
int lenth1,lenth2,lenth;
lenth1=strlen(str);
lenth2=strlen(str0.str);
lenth=lenth1+lenth2;
char *str1=str; //临时的str1指向本对象成员变量字符串
str=new char[lenth+1]; //本成员变量指向新分配的内存
memset(str,0,lenth+1); //将新申请的内存的所以字节都初始化为'\0'终止符
strcat(str,str1); //将本来的成员变量指向的字符串加入
delete str1; //清理str1指向的内存
strcat(str,str0.str);//再将参数指向的字符串连接进去。
}