天天看點

C++連接配接一個字元串前n個字元至另一個字元串問題

将一個字元串的前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;
}
           

運作結果如圖所示:

C++連接配接一個字元串前n個字元至另一個字元串問題

繼續閱讀