C++中string拼接方式多样,常用+=和+操作符实现字符串追加与连接,支持string对象、C风格字符串及字符;append()提供更灵活的追加控制,insert()可在指定位置插入内容,数字需通过to_string()转换后拼接,复杂场景推荐使用stringstream进行格式化组合。

在C++中,string 类提供了多种方式来拼接字符串。无论是将两个 string 对象连接,还是将字符串与字符、数字或其他类型组合,都有简洁高效的方法。下面详细介绍常见的 string 拼接方式。
使用 += 操作符追加内容
+= 是最常用的字符串拼接方法之一,适用于在原字符串末尾添加新内容。
支持拼接的内容包括:- 另一个 string 对象
- C风格字符串(即 char*)
- 单个字符
示例代码:
#include#include using namespace std; int main() { string str = "Hello"; str += " World"; // 拼接字符串 str += '!'; // 拼接字符 cout << str; // 输出: Hello World! return 0; }
使用 + 操作符连接字符串
使用 + 可以将两个 string 对象或 string 与 C 风格字符串/字符组合成一个新字符串。
立即学习“C++免费学习笔记(深入)”;
注意:操作数中至少有一个必须是 string 类型,否则编译器无法识别。
示例:
string a = "Hi"; string b = " there"; string c = a + b; // 正确:string + string string d = a + " John"; // 正确:string + 字符串字面量 // string e = "Hello" + " World"; // 错误:两个都是 const char*
使用 append() 成员函数
append() 提供了更灵活的拼接控制,支持多种参数形式。
常用用法包括:-
str.append(s):追加另一个 string -
str.append(cstr):追加 C 风格字符串 -
str.append(str2, pos, len):从 str2 的 pos 位置取 len 个字符追加 -
str.append(n, ch):追加 n 个相同字符 ch
示例:
string s = "Hello";
s.append(" from C++"); // 追加字符串
s.append(3, '!'); // 追加三个 '!'
cout << s; // 输出: Hello from C++!!!
使用 insert() 插入字符串
如果需要在字符串中间插入内容,可以使用 insert() 函数。
语法: str.insert(pos, content)
string name = "John"; name.insert(4, " Doe"); cout << name; // 输出: John Doe
拼接数字或非字符串类型
要拼接数字,需先转换为字符串。推荐使用 to_string() 函数。
int age = 25; string info = "Age: " + to_string(age); cout << info; // 输出: Age: 25支持类型: int, float, double, long 等基本数值类型。
使用 stringstream 拼接复杂内容
当需要混合拼接字符串、数字、表达式时,stringstream 更清晰易读。
#includestring name = "Alice"; int score = 95; stringstream ss; ss << name << " scored " << score << " points."; string result = ss.str();
基本上就这些。C++ 中 string 拼接灵活多样,根据场景选择合适方法即可。+= 和 + 最常用,append 更可控,stringstream 适合复杂格式。注意避免对两个纯 C 字符串直接使用 +。











