将一個字元串的前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;
}
運作結果如圖所示:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL1IjM4IDN1ATMxAjMxgTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)