C++中的字符串串联:串联字符串的4种方法

时间:2020-02-23 14:30:05  来源:igfitidea点击:

在本文中,我们将介绍使用C++语言执行字符串连接的各种方法。
编程时,该方法可用于多种目的。
但总的来说,此概念与组合来自不同位置的两个字符串并将它们放置在一起相同。

C++中的字符串连接技术

在C++中连接字符串时,可以考虑以下技术:

  • C++串联(+)运算符
  • strcat()方法
  • C++ append()函数
  • 使用C++进行串联

1.字符串串联的C++" +"运算符

C++的'+'运算符可以轻松地连接两个字符串。

" +"运算符将两个输入字符串相加,并返回一个包含串联字符串的新字符串。

语法:

string1 + string2;

例:

#include <bits/stdc++.h> 
using namespace std; 

int main() 
{   string str1="", str2="";

  cout<<"Enter String 1:\n";
  cin>>str1;
  cout<<"Enter String 2:\n";
  cin>>str2;
  
  string res = str1 + str2;
  cout<<"Concatenated String:"<<endl;
  cout<<res;
  
	return 0; 
} 

输出:

Enter String 1:
Journal
Enter String 2:
Dev
Concatenated String:
theitroad

2. C++ strcat()方法

C++具有内置方法来连接字符串。
strcat()方法用于连接C++中的字符串。

strcat()函数将char数组作为输入,然后将传递给该函数的输入值连接起来。

语法:

strcat(char *array1, char *array2)

范例1:

#include <bits/stdc++.h> 
using namespace std; 

int main() 
{   
  char str1[100] = "Journal";
  char str2[100]= "Dev";
  
   
  cout<<"Concatenated String:"<<endl;
  
  strcat(str1, str2);
  cout<<str1;
	return 0; 
} 

在上面的示例中,我们声明了两个char数组,主要是大小为100个字符的str1和str2。
然后,我们将char数组str1和str2传递给strcat()函数,以获取串联的字符串作为结果。

输出:

Concatenated String:
theitroad

范例2:

#include <bits/stdc++.h> 
using namespace std; 

int main() 
{   
  char str1[100], str2[100];
  cout << "Enter String 1:\n";
  cin.getline(str1, 100);

  cout << "Enter String 2:\n";
  cin.getline(str2, 100);

   
  cout<<"Concatenated String:"<<endl;
  
  strcat(str1, str2);
  cout<<str1;
	return 0; 
} 

在上面的示例中,我们使用C++的getline()函数从用户那里接收字符串输入值,该函数从终端字符中逐个字符地提取输入。

输出:

Enter String 1:
theitroad
Enter String 2:
Python
Concatenated String:
theitroad-Python

3. C++中用于字符串连接的append()方法

C++有另一个内置方法:append()来连接字符串。
append()方法可用于将字符串添加在一起。
它使用一个字符串作为参数,并将其添加到另一个字符串对象的末尾。

语法:

string1.append(string2);

例:

#include <bits/stdc++.h> 
using namespace std; 

int main() 
{   string str1="", str2="";

  cout<<"Enter String 1:\n";
  cin>>str1;
  cout<<"Enter String 2:\n";
  cin>>str2;
  
  str1.append(str2);
  cout<<"Concatenated String:"<<endl;
  cout<<str1;
  return 0; 
} 

在上面的示例中,我们已将str2作为参数传递给append()函数。
此外,append()函数将字符串对象str2的内容添加到字符串对象str1的内容的末尾。
因此,达到了字符串连接的目的。

输出:

Enter String 1:
Journal
Enter String 2:
Dev
Concatenated String:
theitroad

4.使用C++进行循环

为了连接字符串,我们可以使用C++循环来达到目的,而无需任何内置函数。

例:

#include<iostream>
#include<string.h>
using namespace std;

int main()
{

	char x[100]="Journal", y[100]="Dev";
	cout<<"String 1:\n";
  cout<<x<<endl;
  cout<<"String 2:\n";
  cout<<y<<endl;
	int p;
	for(p=0; x[p] != '##代码##'; p++);//pointing to the index of the last character of x
	
	for(int q=0; y[q] != '{代码}'; q++,p++)
	{
		x[p]=y[q];
	}
	
	
	x[p]='{代码}';
  cout&lt;&lt;"Concatenated String:\n";
	cout&lt;&lt;x&lt;&lt;endl;
	
	return 0;
}

在上面的代码片段中,我们主要接受了两个char数组输入:分别是x和y。

此外,我们遍历了x char数组的字符串,直到指针变量p指向x的最后一个字符的索引。

然后,我们遍历char数组y的字符输入,并将y的每个字符连接到x。

最后,我们在char数组x的末尾添加一个'null character('\ 0')',该数组现在包含连接字符串。