首页 > 后端开发 > C++ > 正文

c++中如何连接两个字符串_C++ string字符串拼接的多种方式

裘德小鎮的故事
发布: 2025-09-21 17:08:01
原创
672人浏览过
C++中字符串拼接常用方法包括:1. 使用+运算符连接std::string对象,如str1 + " " + str2;2. 使用+=运算符在原字符串后追加内容,适合逐步构建;3. 调用append()成员函数,支持多种参数形式,灵活性高;4. 利用stringstream处理字符串与数字等复杂类型的拼接,可读性强;5. 结合C++14的s后缀字面量(如"Hello"s),简化std::string构造与拼接。根据场景选择合适方式可提升效率与代码清晰度。

c++中如何连接两个字符串_c++ string字符串拼接的多种方式

在C++中,连接两个字符串(字符串拼接)有多种方法,可以根据使用场景选择最合适的方式。下面介绍几种常用的字符串拼接方式,适用于std::string类型。

1. 使用 + 运算符拼接

这是最直观的方法,利用+操作符将两个std::string对象连接起来。

示例:

火山方舟
火山方舟

火山引擎一站式大模型服务平台,已接入满血版DeepSeek

火山方舟 99
查看详情 火山方舟
#include <string>
#include <iostream>

int main() {
    std::string str1 = "Hello";
    std::string str2 = "World";
    std::string result = str1 + " " + str2;
    std::cout << result << std::endl; // 输出: Hello World
    return 0;
}
登录后复制

注意:+ 操作符只能用于相同类型的字符串或至少一端是std::string。如果拼接C风格字符串(char*),需确保至少一个是std::string

立即学习C++免费学习笔记(深入)”;

2. 使用 += 运算符追加

若想在原字符串后追加内容,可使用+=操作符,适合逐步构建字符串。

示例:

std::string message = "Hello";
message += " ";
message += "World";
// 结果: Hello World
登录后复制

这种方式效率较高,避免频繁创建临时对象。

3. 使用 append() 方法

append()std::string的成员函数,功能比+=更灵活,支持多种参数形式。

常用形式:

  • str.append(str2)
    登录后复制
    :追加整个字符串
  • str.append(" C-style")
    登录后复制
    :追加C字符串
  • str.append(3, 'x')
    登录后复制
    :追加3个字符'x'
  • str.append(str2, pos, len)
    登录后复制
    :从str2的pos位置取len个字符追加

示例:

std::string s = "Hello";
s.append(" from C++");
// 结果: Hello from C++
登录后复制

4. 使用 stringstream 拼接复杂内容

当需要拼接字符串和数字或其他类型时,std::stringstream非常方便。

示例:

#include <sstream>
#include <string>

std::string name = "Alice";
int age = 25;
std::stringstream ss;
ss << "Name: " << name << ", Age: " << age;
std::string info = ss.str();
// 结果: Name: Alice, Age: 25
登录后复制

这种方法可读性强,适合格式化输出

5. 使用 operator+ 拼接字面量与 string

C++允许std::string与字符串字面量直接用+拼接,但顺序要注意。

合法写法:

std::string result = std::string("Hello") + " World"; // OK
std::string result = "Hello" + std::string(" World"); // OK(因为重载了非成员函数)
登录后复制

但不能写成:

"Hello" + "World"
登录后复制
(这是两个const char*,无法直接相加)。

6. C++14 中使用字符串字面量 s 后缀

引入<string\_literal>后,可用s后缀直接生成std::string,简化拼接。

示例:

#include <string>
using namespace std::string_literals;

auto str = "Hello"s + " World"; // "Hello"s 是 std::string 类型
// 不再需要显式构造 std::string("Hello")
登录后复制

这种方式让代码更简洁,尤其适合链式拼接。

基本上就这些常用方法。选择哪种方式取决于你的需求:简单拼接用+或+=,复杂格式用stringstream,涉及数字转换推荐stringstream或现代方法如fmt库(C++20起)。掌握这些技巧能让你更高效地处理字符串操作。

以上就是c++++中如何连接两个字符串_C++ string字符串拼接的多种方式的详细内容,更多请关注php中文网其它相关文章!

c++速学教程(入门到精通)
c++速学教程(入门到精通)

c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号