将两个字符串连接,不破坏原有字符串
#include<stdio.h>
#include<iostream>
using namespace std;
char* consent(char*s1, char*s2)
{
int len1, len2, len;
char *s;
len1 = strlen(s1);
len2 = strlen(s2);
len = len1 + len2;
s = (char*)malloc(len*sizeof(char)); //必须得先申请地址
int i;
for (i = 0; i < len1; i++)
s[i] = s1[i];
for (i = 0; i < len2; i++)
s[len1 + i] = s2[i];
s[len - 1] = '\0';
return s;
}
void delety(char*s)
{
free(s); //不清楚这样释放内存对不对
cout << "free" << endl;
}
int main()
{
char s1[] = "this is a test ";
char s2[] = "for connecting two string.";
char *s;
s = consent(s1, s2);
cout << s1 << endl;
cout << s2 << endl;
cout << consent(s1, s2) << endl;
delety(s);
return 0;
}