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

c++中如何连接两个string_c++ string字符串拼接方法汇总

冰火之心
发布: 2025-09-23 09:00:05
原创
928人浏览过

c++中如何连接两个string_c++ string字符串拼接方法汇总

在C++中,string 类提供了多种方式来连接(拼接)两个字符串。以下是常用的几种方法,适用于 std::string 类型,清晰实用,适合不同场景。

1. 使用 + 运算符拼接

这是最直观的方法,使用加号 + 将两个 string 对象连接起来。

示例:

#include <string>
#include <iostream>
int main() {
    std::string a = "Hello";
    std::string b = "World";
    std::string c = a + " " + b; // 结果: "Hello World"
    std::cout << c << std::endl;
    return 0;
}
登录后复制

注意:+ 操作符不会修改原字符串,而是返回一个新的 string 对象。

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

2. 使用 += 运算符追加

如果想将一个字符串追加到另一个字符串末尾,可以使用 += 操作符,它会直接修改原字符串。

示例:

std::string a = "Hello";
a += " World"; // a 变为 "Hello World"
登录后复制

支持追加 string、C 风格字符串(char*)或单个字符。

3. 使用 append() 成员函数

append() 是 string 类提供的功能更丰富的拼接方法,支持多种参数形式。

法语写作助手
法语写作助手

法语助手旗下的AI智能写作平台,支持语法、拼写自动纠错,一键改写、润色你的法语作文。

法语写作助手 31
查看详情 法语写作助手
  • a.append(b)
    登录后复制
    :追加整个字符串 b
  • a.append(" world")
    登录后复制
    :追加 C 字符串
  • a.append(b, pos, len)
    登录后复制
    :从 b 的 pos 位置开始,追加 len 个字符
  • a.append(5, 'x')
    登录后复制
    :追加 5 个 'x' 字符

示例:

std::string a = "Hello";
std::string b = " beautiful world";
a.append(b, 1, 10); // 从b的第1个字符开始,取10个字符追加
// 结果: "Helloeautifu"
登录后复制

4. 使用 insert() 插入字符串

虽然主要用于插入,但 insert() 也能实现拼接效果,特别是在指定位置插入内容。

示例:

std::string a = "Hello";
a.insert(5, " World"); // 在索引5处插入
// 结果: "Hello World"
登录后复制

5. 使用 stringstream 拼接多个内容

当需要拼接字符串、数字或其他类型时,std::stringstream 是一个灵活的选择。

示例:

#include <sstream>
std::string name = "Alice";
int age = 25;
std::stringstream ss;
ss << "Name: " << name << ", Age: " << age;
std::string result = ss.str(); // 得到完整字符串
登录后复制

6. C 风格字符串拼接(strcat)不推荐用于 std::string

虽然可以用

c_str()
登录后复制
转换,但 strcat 操作的是 char 数组,容易出错,不建议混合使用。

应优先使用 std::string 自带的方法。

基本上就这些常用方法。日常开发中,+ 和 += 最常用,append() 更灵活,stringstream 适合复杂格式拼接。选择合适的方法能让代码更清晰高效。

以上就是c++++中如何连接两个string_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号