将一个字符串的前n个字符连接至另一个子字符串
例如:str1=“abc”,str2=“def ” ,将str2 的前2个字符连接到str1中,最终str1=“abcde”。
#include<iostream>
using namespace std;
#include<cstring>
void output(char *str1);
char *memcpy(char *str1, char *str2, int n);
int main()
{
int n= 3; //n代表取str2前n个字符连接到str1
char str1[20], str2[10];
cout << "input the string of str1、str2:" << endl;
gets_s(str1); //得到两个字符串
gets_s(str2);
cout << "input the number of n:";
cin >> n;
memcpy(str1, str2,n);
cout << str1<< endl;
return 0;
}
char *memcpy(char *str1, char *str2, int n) //连接函数
{
char *des = str1;
for (; *str1 != '\0';) //遍历str1
{
str1++;
}
for (int i = 0; i < n;i++) // 将str2前n个字符追加至str1
{
*str1 = *(str2 + i);//
str1++;
}
*str1 = '\0';
return des;
}
运行结果如图所示: