将两个字符串合并(函数:strcat)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include
#include
using namespace std;
//将两个字符串合并
void mystrcat1(char str1[],char str2[],char strn[]);
void mystrcat2(char *str1,char *str2, char *strn);
void mystrcat3(char *str1,char *str2,char *strn);
void mystrcat4(char str1[],char str2[],char strn[]);
int main()
{
static char str1[] = "Welcome to ";
static char str2[] = "China!";
// static char str3[] = "China!BeiJing!";
char strn[30];
// strcat(str1,str2);
// cout << str1 << endl;
// strncat(str1,str3,9);
// cout << str1 << endl;
// mystrcat(str1,str2,strn);
// cout << strn << endl;
// mystrcat2(str1,str2,strn);
// cout << strn << endl;
// mystrcat3(str1,str2,strn);
// cout << strn <
mystrcat4(str1,str2,strn);
cout << strn << endl;
return 0;
}
void mystrcat1(char str1[], char str2[],char strn[])
{
int i = 0,j = 0;
while(str1[i] != '\0')
{
strn[i] = str1[i];
i++;
}
while(str2[j] != '\0')
{
strn[i+j] = str2[j];
j++;
}
strn[i+j] = '\0';
}
//void mystrcat2(char *str1,char *str2,char *strn)
//{
// while(*str1 != '\0')
// {
// *strn = *str1;
// ++str1;
// ++strn;
// }
// while(*str2 != '\0')
// {
// *strn = *str2;
// ++str2;
// ++strn;
// }
// *strn = '\0';
//}
void mystrcat2(char *str1,char *str2,char *strn)
{
while(*str1 != '\0')
{
*strn++ = *str1++;
}
while(*str2 != '\0')
{
*strn++ = *str2++;
}
*strn = '\0';
}
void mystrcat3(char *str1,char *str2,char *strn)
{
int i = 0,j = 0;
while(str1[i] != '\0')
{
strn[i] = str1[i];
i++;
}
while(str2[j] != '\0')
{
strn[i+j] = str2[j];
j++;
}
strn[i+j] = '\0';
}
void mystrcat4(char str1[], char str2[], char strn[])
{
while(*str1 != '\0')
{
*strn++ = *str1++;
}
while(*str2 != '\0')
{
*strn++ = *str2++;
}
*strn = '\0';
}