天天看點

字元串操作之字元串連接配接

/*
将str1與str2連接配接—->(将合成的字元串放入str1中)
思路分析:
a. 确定str1的記憶體大小是否小于str1+str2-1;
b. 連接配接;
c. 連接配接後的字元串最後一個為空字元(‘\0’)。
*/
//str1-->存放最終連接配接字元串的數組 ,len--->str1的記憶體大小
#include<iostream>
using namespace std;
bool stringConnection(char* str1, int len, char* str2)
{
	int i = 0;
	int k = 0;
	while (str1[i] != '\0')
	{
		i++;
	}
	while (str2[k] != '\0')
	{
		k++;
	}
	if (len < i + k - 1)
	{
		return false;
	}
	//連接配接
	k = 0;
	while (str2[k] != '\0')
	{
		str1[i] = str2[k];
		i++;
		k++;
	}
	str1[i] = '\0';
	return true;
}

void printF(char* str1, char* str2)
{
	cout << "str1:" << str1 << endl;
	cout << "str2:" << str2 << endl;
}

int main()
{
	char str1[20] = "abc";
	char str2[10] = "def";
	stringConnection(str1, 20, str2);
	printF(str1, str2);
	system("pause");
	return 0;
}