1. 程式人生 > >C++連線一個字串前n個字元至另一個字串問題

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; }

執行結果如圖所示:
在這裡插入圖片描述