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
相关产品推荐
相关产品推荐

