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

在本文中,我们将揭示在 [C++ 语言]( / 社区 / 教程 / c-plus-plus)中执行字符串连接的各种方法。在编程过程中,这种方法可以用于各种目的,但总的来说,这个概念与从不同的位置组合两个字符串并将它们放在一起是一样的。


C++ 中的 String Concatenation 技术

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

  • ** C++ 连接 (+) 运算器**
  • ** 使用** strcat() 方法
  • ** C++ 附加() 函数**
  • ** 使用 C++ 进行连接的循环**

C+++运算器为 String Concatenation

C++ `'+' 操作员可以用来轻松连接两个字符串。

+运算符 添加了两个输入字符串,并且 返回了包含 连接字符串的新字符串

合成:**

1string1 + string2;

** 例子:**

 1#include <bits/stdc++.h> 
 2using namespace std; 
 3
 4int main() 
 5{   string str1="", str2="";
 6
 7    cout<<"Enter String 1:\n";
 8    cin>>str1;
 9    cout<<"Enter String 2:\n";
10    cin>>str2;
11
12    string res = str1 + str2;
13    cout<<"Concatenated String:"<<endl;
14    cout<<res;
15
16    return 0; 
17}

出发点:**

1Enter String 1:
2Journal
3Enter String 2:
4Dev
5Concatenated String:
6JournalDev

C++ Strcat() 方法

C++ 有一种内置方法来连接字符串. Strcat() 方法用于在 C++ 中连接字符串。

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

合成:**

1strcat(char *array1, char *array2)

例子一:**

 1#include <bits/stdc++.h> 
 2using namespace std; 
 3
 4int main() 
 5{   
 6    char str1[100] = "Journal";
 7    char str2[100]= "Dev";
 8
 9    cout<<"Concatenated String:"<<endl;
10
11    strcat(str1, str2);
12    cout<<str1;
13    return 0; 
14}

在上面的示例中,我们已经宣布了两个 char 数组,主要是 str1 和 str2 的大小为 100 个字符,然后,我们将 char 数组 str1 和 str2 传递到 strcat() 函数中,以获得结合字符串的结果。

出发点:**

1Concatenated String:
2JournalDev

例子二:

 1#include <bits/stdc++.h> 
 2using namespace std; 
 3
 4int main() 
 5{   
 6    char str1[100], str2[100];
 7    cout << "Enter String 1:\n";
 8    cin.getline(str1, 100);
 9
10    cout << "Enter String 2:\n";
11    cin.getline(str2, 100);
12
13    cout<<"Concatenated String:"<<endl;
14
15    strcat(str1, str2);
16    cout<<str1;
17    return 0; 
18}

在上面的示例中,我们使用C++的getline()函数接受用户的字符串输入值,该函数通过字符从终端字符中获取输入。

出发点:**

1Enter String 1:
2JournalDev-
3Enter String 2:
4Python
5Concatenated String:
6JournalDev-Python

3. C++ 中的 String Concatenation 的 append() 方法

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

合成:**

1string1.append(string2);

** 例子:**

 1#include <bits/stdc++.h> 
 2using namespace std; 
 3
 4int main() 
 5{   string str1="", str2="";
 6
 7    cout<<"Enter String 1:\n";
 8    cin>>str1;
 9    cout<<"Enter String 2:\n";
10    cin>>str2;
11
12    str1.append(str2);
13    cout<<"Concatenated String:"<<endl;
14    cout<<str1;
15    return 0; 
16}

在上面的示例中,我们将str2作为参数传递给 append() 函数。 此外,append() 函数将 string 对象str2 的内容添加到 string 对象 str1 的内容的末尾。

出发点:**

1Enter String 1:
2Journal
3Enter String 2:
4Dev
5Concatenated String:
6JournalDev

使用C++为循环

为了连接字符串,我们可以使用 C++ for loops来服务于目的,而无需任何内置函数。

** 例子:**

 1#include<iostream>
 2#include<string.h>
 3using namespace std;
 4
 5int main()
 6{
 7
 8    char x[100]="Journal", y[100]="Dev";
 9    cout<<"String 1:\n";
10    cout<<x<<endl;
11    cout<<"String 2:\n";
12    cout<<y<<endl;
13    int p;
14    for(p=0; x[p] != '\0'; p++);//pointing to the index of the last character of x
15    
16    for(int q=0; y[q] != '\0'; q++,p++)
17    {
18    	x[p]=y[q];
19    }
20    
21    
22    x[p]='\0';
23    cout<<"Concatenated String:\n";
24    cout<<x<<endl;
25    
26    return 0;
27}

在上面的代码片段中,我们主要接受了两个 char 数组输入: xy

此外,我们已经穿过 x char 数组的字符串,直到指针变量 p 指向 **x 最后一个字符的索引。

然后,我们穿过 char 数组 y 的字符输入,并将每个字符从 y 连接到 x

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

出发点:**

1String 1:
2Journal
3String 2:
4Dev
5Concatenated String:
6JournalDev

结论

因此,在本文中,我们了解了在C++语言中连接字符串的各种技术。


参考

Published At
Categories with 技术
Tagged with
comments powered by Disqus