You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++中除定义空格字符串外,如何在两个字符串间添加空格?

问题:C++中如何在两个姓名字符串间添加空格?

以下是当前实现的代码:

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

int main() {
    string x  ;
    string y ;
    string sum;
    string z = " " ;
    
    cout << "Write your name:" ;
    cin >> x ;
    cout  << "Write your second name:" ;
    cin >>  y ;
    sum = (x+z+y) ;
    cout << "your name is:" << sum ;
    
    return 0 ;
}

当前代码通过定义字符串变量z = " "来在名字和姓氏间添加空格,请问还有其他实现方式,能让输出结果为“your name is: 名字(空格)姓氏”吗?


当然有几种更简洁的方式:

  • 直接在输出流中插入空格
    不需要提前拼接成sum字符串,直接在输出时把空格插在两个变量中间:

    cout << "your name is:" << x << " " << y;
    

    这种方式省去了额外的sum变量,代码更直观。

  • 直接用字符串字面量拼接
    不用单独定义z变量,直接把空格字面量" "加入拼接表达式:

    sum = x + " " + y;
    

    C++的std::string支持和字符串字面量的加法操作,效果和使用z变量完全一致,少定义一个变量更简洁。

  • 使用字符串的追加操作
    可以通过+=运算符或者append方法逐步构建结果字符串:

    // 方式1:用+=运算符
    sum = x;
    sum += " ";
    sum += y;
    
    // 方式2:用append方法
    sum = x;
    sum.append(" ").append(y);
    

    这种方式适合需要逐步构建复杂字符串的场景,灵活性更高。

内容的提问来源于stack exchange,提问作者Yosef Elzohery

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 17:55:18